我想将.xls
文件转换为JSON格式,我已经使用了xls-to-json
模块。
当我使用xlsx-to-json
模块时,它运行良好。但是我不想读.xlsx file
。它给了我一个错误:
TypeError: Cannot set property length of [object Object] which has only a getter.
我找不到错误。是否有其他模块可以将.xls文件转换为JSON。
here is my code :
var node_xj = require("xls-to-json");
app.get('/file',function(req,res){
node_xj({
input: 'file.xls', // input xls
output: "output.json", // output json
sheet: "sheetname", // specific sheetname
}, function(err, result) {
if(err) {
console.error(err);
} else {
console.log(result);
}
});
});
该软件包仅支持MS Excel使用的新xlsx格式。
最简单的选择是将文件保存为逗号分隔的csv文件(因为这种格式在大多数软件中都可用(,并使用csv到json转换器。
这里有一个不错的https://www.npmjs.com/package/csv
您可以使用路径模块来获取file extension
,如果文件扩展名匹配,则执行解析代码
var node_xj = require("xls-to-json");
var path = require('path');
app.get('/file', function(req, res) {
//Give file name with extension e.g, file.xls
if (path.extname('file.xls') === '.xls') {
node_xj({
input: 'file.xls', // input xls
output: "output.json", // output json
sheet: "sheetname", // specific sheetname
}, function(err, result) {
if (err) {
console.error(err);
} else {
console.log(result);
}
});
}
});
更新
这不是该模块的问题,但问题来自第三方模块依赖xlsjs
这是打开的问题,您可以看到更新
您可以使用此模块,注意我是作者。
xls到json lc的包已合并到xlsx到json lc的包中。只需将Xlsx用于这两种类型的扩展,就可以正常工作。