xls-to-json在Node.js中不起作用

时间:2016-09-19 08:23:56

标签: json node.js excel

我想以JSON格式转换.xls文件我使用xls-to-json模块。

当我使用xlsx-to-json模块时,它工作正常。但我不想阅读.xlsx file。它给我一个错误:

TypeError: Cannot set property length of [object Object] which has only a getter.

我无法找到错误。是否有任何其他模块可以在JSON中转换.xls文件。

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);
            }
        });
    });

4 个答案:

答案 0 :(得分:0)

该软件包仅支持MS Excel使用的新xlsx格式。

最简单的选择是将文件保存为逗号分隔的csv文件(因为大多数软件都提供该格式)并使用csv到json转换器。

这里有一个很好的 - https://www.npmjs.com/package/csv

答案 1 :(得分:0)

您可以使用path模块获取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

这里是您可以看到更新的opened issue

答案 2 :(得分:0)

您可以使用此module,请注意我是作者。

答案 3 :(得分:0)

xls-to-json-lc的软件包已合并到xlsx-to-json-lc的软件包中。只需对两种类型的扩展都使用Xlsx,就可以正常工作。