用Javascript将100000行导出为CSV

时间:2019-06-25 01:12:56

标签: javascript

我有10万行,我想将它们导出为CSV,我确实设法将其导出几行,但是成千上万的行将网络错误返回到我的浏览器,并且我无法下载它。

        let csvContent = "data:text/csv;charset=utf-8,";
        csvContent += [
            Object.keys(payload[0]).join(";"),
            ...payload.map(item => Object.values(item).join(";"))
        ]
            .join("\n")
            .replace(/(^\[)|(\]$)/gm, "");

        const data = encodeURI(csvContent);
        const link = document.createElement("a");
        link.setAttribute("href", data);
        link.setAttribute("download", "export.csv");
        link.click();

1 个答案:

答案 0 :(得分:1)

您不能encodeURI使用100000行

使用FileSaver.js

var blob = new Blob([csvContent], {type: "text/plain;charset=utf-8"});
saveAs(blob, "export.csv");

也许还可以用Blob.slice()分割字符串并保存几个块。