在nodejs中将excel文件转换为json

use*_*174 3 javascript excel json node.js

我试图通过使用此api:convert-json节点api将excel文件转换为json.

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

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

我认为这是一个问题,在服务器上没有excel驱动程序,但下载和安装后它也无法正常工作.有人遇到过这个问题吗?如果您需要更多信息,请告诉我.

Vis*_*wat 9

使用此方法可以轻松取消删除和解析:

npm install --save excel'



var xls = require('excel');

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

正如它所说,它返回的数据是一个数组数组.我们希望它是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;
};
Run Code Online (Sandbox Code Playgroud)

然后:

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