我正在尝试使用此 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/