#javascript #html #css #excel
Вопрос:
У меня есть две функции в следующем коде:
This one removes the columns when the user clicks on a button let xvm = document.getElementsByClassName("removedor"); let k = 0 let y = document.querySelectorAll('td')[k] let z = document.querySelectorAll('th')[k] for(let k = 0; k lt; xvm.length; k ){ let y = document.querySelectorAll('td')[k] let z = document.querySelectorAll('th')[k] document.getElementsByClassName("removedor")[k].addEventListener("click", function(){ if (y.style.display === "block") { y.style.display = "none"; z.style.display = "none"; } else { y.style.display = "none"; z.style.display = "none"; } }) }
Этот экспортирует таблицу в Excel
function fnExcelReport(){ let xvm = document.getElementsByClassName("removedor"); let k = 0 let y = document.querySelectorAll('td')[k] let z = document.querySelectorAll('th')[k] var tab_text="lt;table border='2px'gt;lt;tr bgcolor='#87AFC6'gt;"; var textRange; var j=0; tab = document.getElementById('myTable'); // id of table tabRows = tab.rows; //get the rows for(let k = 0; k lt; xvm.length; k ){ let y = document.querySelectorAll('td')[k] let z = document.querySelectorAll('th')[k] if (y.style.display == "block") { tabRows[k].deleteCell(0); } else { y.style.display = "none"; z.style.display = "none"; } } for(j = 0 ; j lt; tab.rows.length ; j ) { tab_text=tab_text tab.rows[j].innerHTML "lt;/trgt;"; } tab_text=tab_text "lt;/tablegt;"; tab_text= tab_text.replace(/lt;A[^gt;]*gt;|lt;/Agt;/g, "");//remove if u want links in your table tab_text= tab_text.replace(/lt;img[^gt;]*gt;/gi,""); // remove if u want images in your table tab_text= tab_text.replace(/lt;input[^gt;]*gt;|lt;/inputgt;/gi, ""); // reomves input params var ua = window.navigator.userAgent; var msie = ua.indexOf("MSIE "); if (msie gt; 0 || !!navigator.userAgent.match(/Trident.*rv:11./)) // If Internet Explorer { txtArea1.document.open("txt/html","replace"); txtArea1.document.write(tab_text); txtArea1.document.close(); txtArea1.focus(); sa=txtArea1.document.execCommand("SaveAs",true,"Say Thanks to Sumit.xls"); } else //other browser not tested on IE 11 sa = window.open('data:application/vnd.ms-excel,' encodeURIComponent(tab_text)); return (sa); }
Проблема в том, что при экспорте в Excel функция экспортирует все столбцы, даже те, которые пользователь нажал, чтобы удалить. Я хочу, чтобы он не экспортировал столбцы, которые удалил пользователь. Я использую display = 'none'
, чтобы скрыть столбцы.