ExcelJS:处理 100+ MB 数据时 Javascript 堆内存不足

问题描述

我正在尝试使用 exceljs 创建一个包含 100+ MB 数据的 Excel 文件。从处理数据、创建列和工作表,一切都很好,但是在使用 workbook.xlsx.writeFile(filepath) 编写文件时出现了问题,错误javascript heap out of memory 来自库。我已经将 max-old-space-size 增加到 16384,但它仍然崩溃。我想知道是否有任何可靠的解决方案或解决方法解决这个问题。

解决方法

我想您应该使用流而不是尝试一次保存整个内容:

const fileStream = fs.createWriteStream(filePath);
await workbook.xlsx.write(fileStream);