function isTable(element) { return (element.tagName == 'TABLE' || element.tagName == 'table') } function downloadCsv(csv, filename) { if (window.Blob == undefined || window.URL == undefined || window.URL.createObjectURL == undefined) { alert("Your browser doesn't support Blobs"); return; } var BOM = "\uFEFF"; var csvFile = new Blob([ BOM + csv], { type: "text/csv;" }); var downloadLink = document.createElement("a"); downloadLink.download = filename; downloadLink.href = window.URL.createObjectURL(csvFile); downloadLink.style.display = "none"; document.body.appendChild(downloadLink); downloadLink.click(); } function exportToCsv(id, filename, delimiter = ';') { tbl = document.getElementById(id); if (tbl != null && isTable(tbl)) { var rowArr = []; for (var j = 0; j < tbl.rows.length; j++) { var r = tbl.rows[j]; var colArr = []; for (i = 0; i < r.cells.length; i++) { var c = r.cells[i]; colArr.push(c.innerText); } rowArr.push(colArr.join(delimiter)) } } downloadCsv(rowArr.join('\n'), filename); }