【发布时间】:2021-01-04 07:54:52
【问题描述】:
我正在尝试从文件中导出数据并使用 ExcelJS 将此数据添加到 Excel 文件中。
worksheet.addRows(freedomRawData.records);
'records' 是一个包含超过 165,000 个元素的数组。将数据写入 excel 文件时,出现错误 -
致命错误:无效数组长度分配失败 - JavaScript 堆内存不足
相同的脚本适用于“记录”长度为 115,000 个元素的数据。通过互联网,我找到了以下方法:
node --max-old-space-size=8192 <file_name>.js
这不起作用,我尝试使用 RAM 的最大容量 (16384MB);这也没有帮助。我是 NodeJS 的新手,任何帮助将不胜感激。
【问题讨论】:
-
目标只是将电子表格写入磁盘吗?如果是这样,请阅读 docco 的streaming section。写入/提交到流然后不会首先在内存中构建整个电子表格
-
是的,我们的目标是创建一个新文件后对数据执行某些计算。感谢上面的链接;我会通读一遍。
标签: javascript node.js puppeteer heap-memory exceljs