好的,所以我正在使用该FileUploader模块将我的文件从angular上传到my REST API:
FileUploader
REST API
var uploader = $scope.uploader = new FileUploader({ url: api.getUrl('uploadCompetence',null) });
这被发送到以下POST功能:
POST
router.route('/api/uploadCompetence') .post(function (req, res) { // This is where i want to read the file var competence = Competence.build(req.body.location); competence.add(function (success) { res.json({message: 'quote created!'}); }, function (err) { res.status(err).send(err); }); })
现在,我的目标是读取excel文件,然后将每一行添加到数据库中。
excel
但是我不太确定我如何从Node.js我的服务器中读取文件并调试了服务器,找不到文件,但是正在从我的Angular应用程序中调用api。
Node.js
Angular
谁能向正确的方向推动我?:)
有几种不同的库可以解析Excel文件(.xlsx)。我将列出两个我觉得有趣并且值得研究的项目。
Excel解析器和生成器。它是流行项目 JS-XLSX 的包装,它是Office Open XML规范中的纯JavaScript实现。
node-xlsx项目页面
解析文件示例
var xlsx = require('node-xlsx'); var obj = xlsx.parse(__dirname + '/myFile.xlsx'); // parses a file var obj = xlsx.parse(fs.readFileSync(__dirname + '/myFile.xlsx')); // parses a buffer
读取,操作并将电子表格数据和样式写入XLSX和JSON。这是一个活跃的项目。在撰写本文时,最新提交是在9个小时前。我自己还没有测试过,但是api看起来很广泛,具有很多可能性。
exceljs项目页面
代码示例:
// read from a file var workbook = new Excel.Workbook(); workbook.xlsx.readFile(filename) .then(function() { // use workbook }); // pipe from stream var workbook = new Excel.Workbook(); stream.pipe(workbook.xlsx.createInputStream());