我有两个函数
- 导出HTML表格
- 下载CSV文件
不幸的是,我的文件下载为“未定义”,没有.csv文件类型。
格式似乎没问题,因为该文件可以用任何文本编辑器打开,并且可以看到所有表格数据以逗号为分隔符。这使得Excel很容易接受文件并将每列和行分开。
但我需要文件下载时带有.csv文件扩展名。
以下是我的两个函数:
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);
}
function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
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();
}
exportTableToCSV('', 'test.csv');
我认为问题出在“function downloadCSV”上。非常感谢任何帮助或提供当前可用的工作示例的链接。