I would like to export my HTML table to Excel
My table looks like in the query here:
Export HTML form to Excel CSV not working with Element.append() method
I used the code from this website:
https://www.revisitclass.com/css/how-to-export-download-the-html-table-to-excel-using-javascript/
which is not working at all now, but it was working 2 days ago
My situation looks as follows:
rows = [
[column1,column2],
[column1,column2],
[column1,column2],
[column1,column2],
[column1,column2],
[column1,column2]
]
function exportData(){
var table = document.getElementById("opresults");
var rows =[];
for(var i=0,row; row = table.rows[i];i++){
column1 = row.cells[0].innerText;
column2 = row.cells[1].innerText;
rows.push(
[
column1,
column2
]
);
}
csvContent = "data:text/csv;charset=utf-8,";
rows.forEach(function(rowArray){
row = rowArray.join(",");
csvContent += row + "\r\n";
});
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "site_survey_form.csv");
document.body.appendChild(link);
link.click();
}
</script>
HTML
<table id="opresults" class="outputtable"><p class="outputtablehead">Survey Form - output</p>
<tr class="colname">
<th class="question">Form question</th>
<th class="answer">Answer</th>
</tr>
<tr class="opcontent">
<script>
const resultsList = document.getElementById('opresults')
const matches = document.querySelectorAll("fieldset");
const innerBody = document.createElement('tbody')
resultsList.append(innerBody);
new URLSearchParams(window.location.search).forEach((value, name) => {
const row = document.createElement('tr');
const tdName = document.createElement('td');
const tdValue = document.createElement('td');
tdName.innerText = name;
tdValue.innerText = value;
row.append(tdName);
row.append(tdValue);
innerBody.append(row);
})
</script>
</tr>
</table>
<button class="excelsubmit" onclick="exportData()"><span class="glyphicon glyphicon-download"></span> Export form to Excel</button>
The button doesn't work at all. I am convinced, that somewhere is a silly mistake.
I've tried the example below:
Export html table data to Excel using JavaScript / JQuery is not working properly in chrome browser
which is great, but the file comes without the name. I need the export with name.