原理
通过node-xlsx
或者js-xlsx
将数据表处理成 data 多维数组输出后自行处理.
安装
新增文件夹,将 xlsx 文件放到excel
文件夹下.

文件预览

创建执行文件 index.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| const fs = require("fs"); const xlsx = require("node-xlsx");
const excelData = xlsx.parse("./excel/card.xlsx");
let arr = [];
|
函数处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| let handleExcel = () => { excelData.map((item) => { let xlsData = item.data; let keyArr = xlsData[0]; let dataArr = xlsData.slice(1);
dataArr.map((lineItem) => { let arrItem = {}; lineItem.map((i, index) => Object.assign(arrItem, { [keyArr[index]]: i }) ); arr.push(arrItem); }); }); };
let generatJSON = (fileName, data) => { fs.writeFile(fileName, data, "UTF-8", (err) => { if (err) { console.log(err); } else { console.log("success"); } }); };
handleExcel(); generatJSON("./data/data.json", JSON.stringify(arr, null, "\t"));
|
执行
查看 data 文件夹下的输出文件