背景:某个项目采用mock模拟数据,客户给了一份Excel,身为前端的我等了一个星期的数据还是没有等到,中间穿插了N个项目。。。故事是这样开始的
作为一名小前端,业余学过一点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个工作表。
运行结果: