javascript - 在nodejs中将excel文件转换为json

标签 javascript json node.js excel

我正在尝试使用此 api 将 excel 文件转换为 json: 转换 json Node api。

我可以在我的本地计算机上执行此操作,但不能在我的服务器上执行。只有 csv-to-json 在本地和服务器上有效。这是我的代码: https://gist.github.com/debasreedash/33efd4473ba8b344a5ac

服务器在第一个 console.log 之后尝试解析 excel 文件时崩溃。这是它的样子: http://imgur.com/lzUy8sc

我以为是服务器上没有excel驱动的问题,但下载安装后还是不行。有人遇到过这个问题吗?如果您需要更多信息,请告诉我。

最佳答案

使用此方法便于理解和解析:

npm install --save excel'



var xls = require('excel');

xls('Sheet.xlsx', function(err, data) {
  if(err) throw err;
    // data is an array of arrays
});

正如它所说,它返回的数据是一个数组数组。我们希望它是 JSON,这样我们就可以用它做任何我们想做的事。

这是一个将数组的数组转换为 JSON 的函数:

function convertToJSON(array) {
  var first = array[0].join()
  var headers = first.split(',');

  var jsonData = [];
  for ( var i = 1, length = array.length; i < length; i++ )
  {

    var myRow = array[i].join();
    var row = myRow.split(',');

    var data = {};
    for ( var x = 0; x < row.length; x++ )
    {
      data[headers[x]] = row[x];
    }
    jsonData.push(data);

  }
  return jsonData;
};

然后:

xlsx('tasks.xlsx', function(err,data) {
    if(err) throw err;
    //console.log(jsonDataArray(data));
    console.log(JSON.stringify(convertToJSON(data)));
    //console.log(data);
});

关于javascript - 在nodejs中将excel文件转换为json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286319/

相关文章:

node.js - Node v12.7 如何实现原生的brotli、gzip、deflate压缩缓冲区

加载之前的Javascript?

javascript - .htaccess。给出 410 错误并重定向动态 php 页面

arrays - jsonpath 在与数组索引无关的 jsonarray 中查找字符串值

c# - 自定义列表到数组数组

node.js - 在 devDependency 中添加 npm 会产生什么影响?

javascript - 如何连续滚动开始 mousedown 直到 mouseup?

javascript - 使用 javascript 在日期选择器日期名称上添加点 (.)

java - 如何从 JSON 对象中删除包装器?

node.js - 在树莓派上的node.js上运行node_mdns时出现未知错误