gpt4 book ai didi

javascript - 使用 Node 读取 Xlsx 文件并生成 Json

转载 作者:行者123 更新时间:2023-11-29 21:26:24 25 4
gpt4 key购买 nike

我正在使用 XLSX npm 模块读取文件,并在我的 xlsx 文件中创建 Json 但日期未正确到来。

enter image description here

我正在使用这段代码来读取文件

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'
}]

最佳答案

根据这个 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'));

关于javascript - 使用 Node 读取 Xlsx 文件并生成 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37316894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com