CSV Blob Download
https://stackoverflow.com/questions/48629939/export-to-csv-with-javascript/48630194#48630194
by Arif Hasan
HTML
<html>
<body>
<button onclick="exportTableToCSV(null,'test.csv')">Export</button>
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>
</body>
</html>
JavaScript
function exportTableToCSV(html, filename) {
var csv = [];
var rows = document.querySelectorAll("table tr");
for(var i = 0; i < rows.length; i++){
var row = [], cols = rows[i].querySelectorAll("td, th");
for(var j = 0; j < cols.length; j++){
row.push(cols[j].innerText);
}
csv.push(row.join(","));
}
// download csv file
downloadCSV(csv.join("\n"), filename);
console.log(csv)
}
function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
if (window.Blob == undefined || window.URL == undefined || window.URL.createObjectURL == undefined) {
alert("Your browser doesn't support Blobs");
return;
}
csvFile = new Blob([csv], {type:"text/csv"});
downloadLink = document.createElement("a");
downloadLink.download = filename;
downloadLink.href = window.URL.createObjectURL(csvFile);
downloadLink.style.display = "none";
document.body.appendChild(downloadLink);
downloadLink.click();
}