好的,我正在使用 FileUploader
将我的文件从 Angular 上传到我的 REST API
的模块:
var uploader = $scope.uploader = new FileUploader({
url: api.getUrl('uploadCompetence',null)
});
这被发送到以下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
文件,然后将每一行添加到我的数据库中。
但是我不太确定如何从 Node.js
读取文件我已经调试了我的服务器,但在任何地方都找不到该文件,但正在从我的 Angular
调用 api应用
谁能把我推向正确的方向? :)
最佳答案
有几个不同的库可以解析 Excel 文件 (.xlsx)。我将列出两个我觉得有趣且值得研究的项目。
Node -xlsx
Excel 解析器和生成器。它是一个流行项目的包装器 JS-XLSX ,它是来自 Office Open XML 规范的纯 javascript 实现。
解析文件示例
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
ExcelJS
读取、操作电子表格数据和样式并将其写入 XLSX 和 JSON。这是一个活跃的项目。在撰写本文时,最新的提交是 9 小时前。我自己没有测试过,但是这个 api 看起来很广泛,有很多可能性。
代码示例:
// 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());
关于javascript - 使用 node.js 读取 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860728/