【问题标题】:Read Xlsx File and Produce Json With Node读取 Xlsx 文件并使用 Node 生成 Json
【发布时间】:2016-05-19 07:42:13
【问题描述】:

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

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

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

【问题讨论】:

  • 谁能帮我解决这个问题

标签: javascript arrays json node.js excel


【解决方案1】:

下面的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'));

【讨论】:

    猜你喜欢
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 2021-02-12
    • 2020-03-17
    • 1970-01-01
    • 2014-07-04
    • 2020-08-06
    相关资源
    最近更新 更多