bij*_*-ab 26 excel mongodb node.js
我使用nodejs解析模块"jsxlsx_async"的xlsx文件,值将存储在mongodb中.我的代码:
xlsx(file, function(err,wb){
if (err){
//handling err
}
//get data array
wb.getSheetDataByName('Sheet1', function(err,data){
if (err){
//handling err
}
//handling data
console.log(data);
});
});
Run Code Online (Sandbox Code Playgroud)
使用:Nodejs:v0.10.25,MongoDB:v2.2.6,OS:win8,RAM:6GB
我的步骤:1.读取上传的xlsx文件并将这些读取的值保存到JS对象中.2.通过迭代JS对象上的值,将读取值保存到mongodb集合中.
这适用于较小的xlsx文件,但我想解析大于50MB的xlsx文件.
我的问题是我将整个xlsx值存储在单个JS对象中.请为解决方案提供一些更好的想法.有没有更好的方法来逐行读取xlsx并一次读取一行保存值?
Vin*_*uan 45
我之前遇到过类似的问题.我需要从txt文件中读取一个巨大的JSON对象,但该进程因为内存不足而被终止.关于这个问题,我的解决方案是将这个巨大的文件分成2个文件.
关于你的问题,我的建议是:
尝试增加v8引擎的内存限制.https://github.com/joyent/node/wiki/FAQ示例(8192表示8GB):
node --max-old-space-size=8192 server.js
Run Code Online (Sandbox Code Playgroud)如果#1不起作用,请尝试使用此lib逐行读取xlsx文件:https://github.com/ffalt/xlsx-extract
如果#1,#2不起作用,请尝试https://github.com/extrabacon/xlrd-parser
归档时间: |
|
查看次数: |
30200 次 |
最近记录: |