我从一个网站上看到了这段代码,显然它甚至对我的朋友也适用,但对我却不起作用。我正在使用Nodejs并表达。我做错了还是错过了重要部分?单击该按钮后,该文件没有从文件目录中弹出,也不显示任何错误。
这是脚本中的代码。
<script>
function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
//var charset = "UTF-8";
// CSV File
csvFile = new Blob([csv], {type: "text/csv"});
// download link
downloadLink = document.createElement("a");
// file name
downloadLink.download = filename;
// create link to file
downloadLink.href = window.URL.createObjectURL(csvFile);
// hide download link
downloadLink.style.display = "";
// add link to DOM
document.body.appendChild(downloadLink);
// click download link
downloadLink.click();
}
function exportData(html,filename) {
var csv = [];
var rows = document.querySelectorAll("table tr");
for (var i=0; i<rows.length; i++) {
var rows = [], cols = rows[i].querySelectorAll("td, th");
for (var j=0; j<cols.length; j++) {
if (j == 7) {
row.push("'" + cols[j].innerText + "'");
}
else if (j == 2){
row.push("'" + cols[j].innerText + "'");
}
else {
row.push(cols[j].innerText);
}
}
csv.push(row.join(","));
}
// download csv file
downloadCSV(csv.join("\n"), filename);
}
</script>
这是设计部分中的代码。
<button type="button" class="btn btn-primary" id="exportBtn" onclick="exportData(null,'scrapedData.csv')">导出</button>
答案 0 :(得分:0)
这个最小的例子正在起作用
function downloadCSV(csv, filename) {
var csvFile;
var downloadLink;
// CSV File
csvFile = new Blob([csv], {type: "text/csv"});
// download link
downloadLink = document.createElement("a");
// file name
downloadLink.download = filename;
// create link to file
downloadLink.href = window.URL.createObjectURL(csvFile);
// hide download link
downloadLink.style.display = "";
// add link to DOM
document.body.appendChild(downloadLink);
// click download link
downloadLink.click();
}
function exportData(html,filename) {
var csv = [];
csv.push('a');
csv.push('b');
csv.push('c');
csv.push('d');
csv.push('e');
// download csv file
downloadCSV(csv.join("\n"), filename);
}
<button onClick="exportData(null, 'testCSV.csv')">download</button>