我有以下Javascript代码可在客户端导出CSV文件。但是,每次尝试导出大型阵列时,Google Chrome浏览器都会崩溃。Chrome中允许的数据字符串的限制是多少?是否有可能达到Chrome允许的内存限制?如果数据字符串对于Chrome来说太长,我将如何在客户端导出大型CSV文件?
var csvRows = [...]; //Array with 40000 items, each item is 100 characters long.
var csvString = csvRows.join("\r\n");
var a = document.createElement('a');
a.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(csvString);
a.target = '_blank';
a.download = 'export.csv';
document.body.appendChild(a);
a.click();
(预计文件大小约为6.4MB)
有同样的问题,并使用Blob解决了。
例如:
csvData = new Blob([csvString], { type: 'text/csv' });
var csvUrl = URL.createObjectURL(csvData);
a.href = csvUrl;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句