我正在尝试循环遍历多维数组以将其导出到 CSV。我尝试复制一些在线指南,大多数似乎都显示了类似的解决方案如何将 JavaScript 数组信息导出到 csv(在客户端)? https://stackoverflow.com/questions/14964035/how-to-export-javascript-array-info-to-csv-on-client-side,但是他们都提到了const rows =
输入信息数组的位置。我尝试修改它以循环遍历数组,但它没有提示我下载 CSV,所以我不确定它是否有效。谁能告诉我我做错了什么。
function createCSV() {
// loop the outer array
for (var y = 0; y < properties.length; y++) {
// get the size of the inner array
var innerArrayLength = properties[y].length;
// loop the inner array
for (var z = 0; z < innerArrayLength; z++) {
const rows = [
[z]
];
let csvContent = "data:text/csv;charset=utf-8,"
+ rows.map(e => e.join(",")).join("\n");
}
}
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
document.body.appendChild(link);
link.click();
}
注意:这是一个改写导出对象并将其附加到 csv https://stackoverflow.com/questions/57524757/export-and-append-object-to-csv当我从使用对象改为多维数组时,这从根本上改变了问题
我把事情复杂化了。下面的代码已经工作,我创建了一个按钮来触发该功能,而不是强制单击。
function createCSV() {
var csv = "";
properties.forEach(function(row) {
csv += row.join(',');
csv += "\n";
});
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
hiddenElement.target = '_blank';
hiddenElement.download = 'properties.csv';
hiddenElement.click();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)