xls到json在Node.js中不起作用



我想将.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用于这两种类型的扩展,就可以正常工作。

最新更新