需要通过浏览器生成并导出巨大的CSV

时间:2016-12-12 22:26:01

标签: javascript html5

我必须通过浏览器生成80x250,000 CSV。处理这么多数据有点慢,但在数组中可以管理,但是当我尝试生成一个CSV字符串变成Blob时,我遇到了问题。

此类解决方案:https://stackoverflow.com/a/25975345涉及创建大量CSV内容。我不能在不崩溃浏览器的情况下创建这样的字符串。如何生成这么大的文件?以下是我目前用于对此进行基准测试的代码:

var fileData = "contents:text/csv;base64,";
for(var i = 0, temp; i < 150000; i++){
    for(var j = 0; j < 80; j++){
        fileData += Math.random() + ",";
    }
    fileData += "\r\n";
}
var exportLink = document.createElement('a');
var csvData = new Blob([window.btoa(fileData)], { type: "text/csv" }); 
var csvUrl = URL.createObjectURL(csvData);
exportLink.href =  csvUrl;

0 个答案:

没有答案