我正在使用XLSX npm模块来读取文件,并在此处创建Json但日期不正确我的xlsx文件。
我正在使用此代码来阅读文件
XLSX = require('xlsx'),
exports.read = function (req, res) {
var workBook = XLSX.readFile('sample.xlsx');
var sheet_name_list = workBook.SheetNames;
var headers = {};
var data = [];
var workSheet = workBook.Sheets['sample'];
return res.json(XLSX.utils.sheet_to_json(workSheet));
for (var i in workSheet) {
if (i[0] === '!') continue;
//parse the column, row, and value
var col = i.replace(/[0-9]/g, '')
var row = parseInt(i.replace(/[A-Z]/g, ''));
var value = workSheet[i].v;
//store header names
if (row == 1) {
headers[col] = value;
continue;
}
if (!data[row]) {
data[row] = {};
}
data[row][headers[col]] = value;
}
//droping the first two rows of empty
data.shift();
data.shift();
console.log(data);
res.json(data)
});
Json就像这样
[{'Report Date':45678
'Name':'AAA',
'office':'xxxx'
},
{'Report Date':45876
'Name':'ccc',
'office':'ggg'
}]
我希望输出Json像这样
[{'Report Date':'19-05-2016'
'Name':'AAA',
'office':'xxxx'
},
{'Report Date':'20-05-2016'
'Name':'ccc',
'office':'ggg'
}]
答案 0 :(得分:2)
此issue代码下面的提示对我有用:
XLSX = require('xlsx');
var conv = require('ssf');
var workBook = XLSX.readFile('sample.xlsx');
var workSheet = workBook.Sheets['sample'];
var test = XLSX.utils.sheet_to_json(workSheet);
//test = [{'Report Date':45678, 'Name':'AAA', 'office':'xxxx'},{'Report Date':45876, 'Name':'ccc', 'office':'ggg'}]
for(var i=0;i<test.length;i++) {
for(var key in test[i]) {
if(key.length - key.indexOf('Date') == 4) {
test[i][key] = conv.format('dd-mm-yyy', test[i][key]);
}
}
}
console.log(JSON.stringify(test).replace(/,/g,',\n'));