node-xlsx将Excel表格数据转换为JSON格式

背景:某个项目采用mock模拟数据,客户给了一份Excel,身为前端的我等了一个星期的数据还是没有等到,中间穿插了N个项目。。。故事是这样开始的

  •     某一天老板跟我说:“小王啊,我最近实在太忙,这数据实在没有时间处理,你帮忙处理下吧!” 
  •     我:“这个没有弄过。。。”  心想:“我是一名前端,这不是后端的事吗”
  •     老板:“你搜下node插件,有专门处理Excel数据的,很简单的。给你一天时间,客户要得急!!!”

作为一名小前端,业余学过一点node,之前本人参加公司的编程比赛时用过node跑程序,刚好被老板看到了。。。

结局:

'use strict';
let _ = require('lodash');
let xlsxrd = require('node-xlsx');
let excelFilePath = './demo.xlsx';

// 读取excel中所有工作表的数据
let list = xlsxrd.parse(excelFilePath);
// 获取excel中第一个工作表的数据
let data = list[0].data;
let result = [];
// 字段过滤
_.forEach(data.slice(1), (d) => {
    result.push({ rank: d[0], name: d[1], info: d[8], platform: d[9] });
});

console.log('原始格式数据:', JSON.stringify(list));
console.log('');
console.log(`${list[0].name}:`, JSON.stringify(result));

         代码中用的ES6的语法,引入了一个方法库lodash。这是一个单独demo,很简单的。实际项目中有8个工作表。

运行结果: