上传.xlsx文件以表示/ node和mongoDB

我试图制作一个Web应用程序,pipe理员可以将每周工作计划上传到应用程序,然后让应用程序将数据parsing为html格式。

我对你们的问题是如何让应用程序将Excel文件转换成JSON,而上传。 我是新的,所以我不知道如何同时上传文件到Mongo,同时将其转换为JSON。

编辑 – 在我的app.js中:

xlsxj = require("xlsx-to-json"); xlsxj({ input: "sample.xlsx", output: "output.json" }, function(err, result) { if(err) { console.error(err); }else { console.log(result); } }); app.post('/upload' function(req, res) { ??? What to put here ??? }); 

我的input用户selectfile upload的地方:

  .div(style={position: 'absolute', right: '50px', top: '75px'}) unless user.email == "cca@gmail.com" p Upload New Schedule #uploadNew form(action="...", method="post", enctype="multipart/form-data") input(type="file", name="displayImage") 

我想知道如何从那里到input转换为JSON并存储在数据库中

 xlsxj = require("xlsx-to-json"); app.post('/upload' function(req, res) { /* upload script here */ xlsxj({ input: "sample.xlsx", //change this names based on the upload file name output: "output.json" }, function(err, result) { if(err) { console.error(err); }else { console.log(result); } }); }); 

我build议使用js-xlsx来parsingNode.js上的.xlsx文件。 这是一个经过高度testing的库,将数据parsing为可以迭代以提取数据的JSON结构。 它不parsing图表或处理macros,但你可能不需要。

您可能会也可能不会select将数据存储在MongoDB中。 Mongo很好,原因很多,但你必须确保没有属性embedded$. 因为这些是保留的,会产生一个错误。 另一种方法,你可以考虑在S3上存储XLSX文件或string化的JSON文件,使用aws-sdk

有几个npm软件包可以将xlsx数据转换成json格式。 你可以在npm网站上search它们。

使用这个包。

一旦xlsxfile upload到数据库。 将其转换为xlsx并将其保存到数据库。