我正在使用下面的包尝试将上传的 excel 文件 (.xlsx) 转换为我的 Express Web 应用程序上的 JSON 文件:
https://www.npmjs.com/package/xlsx-to-json
所以这是我供用户上传的表格:
form(id = "form1", action="/upload", method="post", enctype="multipart/form-data")
input(type="file", id="control", name="XLupload")
br
input(type="submit" value="Upload" name="Submit")
这是我在我的主要快递(app.js)文件中上传回的路由:
var multer = require('multer');
var upload = multer({dest: './uploads'});
var excel_upload = upload.single('XLupload');
app.post('/upload', excel_upload, function(req, res) {
var fileObject = req.file;
var filePath = fileObject.path;
/*** This is what the file Object looks like when uploaded:
{ fieldname: 'XLupload',
originalname: 'testing.xlsx',
encoding: '7bit',
mimetype: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
destination: './uploads',
filename: 'c1d55ea7d1f6fccc7e3d3d2764db8881',
path: 'uploads\\c1d55ea7d1f6fccc7e3d3d2764db8881',
size: 8013 }
***/
xlsxj({
input: String(filePath),
output: "output.json"
}, function(err, result) {
if (err) {
console.log(err);
} else {
console.log(result);
}
});
});
无论如何,简而言之,上传似乎工作正常,也就是说,它们被上传到目录中的 /uploads 文件夹。但是,我从 xlsxj 转换器返回的 JSON 文件是空的,我不知道为什么。我用随机单元格中的一些单词制作了一个小的测试 xlsx 文件,它仍然让我在 output.json 中返回一个空的 []。任何人都可以让我知道我做错了什么?