[英]How to export data from website to csv file using Javascript?
我从一个网站上看到了这个代码,显然它甚至对我的朋友也适用于其他人,但不适合我。 我正在使用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>
这个最小的例子正在运作
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.