[英]how to export large amount of json data to CSV without browser crash?
[英]How to export large amount of json data to CSV using javascript?
我嘗試將下面的代碼導出,但是如果json數據太大,則會在Chrome瀏覽器中給出錯誤(“失敗-網絡錯誤”)。 對於較小的數據,它可以正常工作。
<script>
var items = [
{university: 'A',college: 'X',state: 'J'},
{university: 'B',college: 'Y',state: 'K'},
{university: 'C',college: 'Z',state: 'L'}
];
// Convert Object to JSON
var jsonObject = JSON.stringify(items);
var array = typeof jsonObject != 'object' ? JSON.parse(jsonObject) : jsonObject;
var csv = '';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var index in array[i]) {
if (line != '') line += ','
line += array[i][index];
}
csv += line + '\r\n';
}
var uri = 'data:text/csv;charset=utf-8,' + csv;
data = encodeURI(uri);
var link = document.createElement("a");
link.href = data;
link.style = "visibility:hidden";
link.download = "xyz.csv";
link.click();
</script>
謝謝
嘗試此以獲取大量數據
var items = [{
university: 'A',
college: 'X',
state: 'J'
},
{
university: 'B',
college: 'Y',
state: 'K'
},
{
university: 'C',
college: 'Z',
state: 'L'
}
];
// Convert Object to JSON
var jsonObject = JSON.stringify(items);
var array = typeof jsonObject != 'object' ? JSON.parse(jsonObject) : jsonObject;
var csv = '';
for (var i = 0; i < array.length; i++) {
var line = '';
for (var index in array[i]) {
if (line != '') line += ','
line += array[i][index];
}
csv += line + '\r\n';
}
csvData = new Blob([csv], {
type: "data:application/vnd.ms-excel;charset=utf-8,\uFEFF"
});
var csvUrl = URL.createObjectURL(csvData);
var a = document.createElement("a");
a.href = csvUrl;
a.setAttribute("download", fileName + ".csv");
document.body.appendChild(a);
a.click();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.