【发布时间】:2016-09-20 13:41:21
【问题描述】:
我有一个数组,其中包含另一个数组。 我正在尝试通过此脚本将此数组保存在 csv 文件中,但它不起作用。它不会下载我的文件...
var data =(JSON.stringify(allFileGenesDetails1));
var csvContent = '';
data.forEach(function (infoArray, index) {
dataString = infoArray.join(';');
csvContent += index < data.length ? dataString + '\n' : dataString;
});
var download = function(content, fileName, mimeType) {
var a = document.createElement('a');
mimeType = mimeType || 'application/octet-stream';
if (navigator.msSaveBlob) { // IE10
return navigator.msSaveBlob(new Blob([content], { type: mimeType }), fileName);
} else if ('download' in a) { //html5 A[download]
a.href = 'data:' + mimeType + ',' + encodeURIComponent(content);
a.setAttribute('download', fileName);
document.body.appendChild(a);
setTimeout(function() {
a.click();
document.body.removeChild(a);
}, 66);
return true;
} else { //do iframe dataURL download (old ch+FF):
var f = document.createElement('iframe');
document.body.appendChild(f);
f.src = 'data:' + mimeType + ',' + encodeURIComponent(content);
setTimeout(function() {
document.body.removeChild(f);
}, 333);
return true;
}
}
download(csvContent, 'csv file.csv', 'text/csv');
【问题讨论】:
-
了解您使用的浏览器非常重要。例如 Safari 不支持 JS 强制下载,也不支持 html 的“下载”属性。
标签: javascript arrays csv