安装
$ npm install node-xlsx
读取Excel的xlsx文件,并写成json文件
const path = require("path");
const fs = require("fs");
const xlsx = require("node-xlsx").default;
const readExcel = () => {
let p1 = path.join(__dirname, "./stuinfo.xlsx");
let result = xlsx.parse(p1);
let headerRow = result[0].data.shift();
let arr = []
for (let item of result[0].data) {
let obj = {}
for (let i = 0; i < headerRow.length; i++) {
obj[headerRow[i]] = item[i];
}
arr.push(obj)
}
let jsonSavePath = path.join(__dirname, "./stuinfo.json");
fs.writeFileSync(jsonSavePath, JSON.stringify(arr));
console.log("写入完成");
}
readExcel();
将json数据转换成excel中的数据
const path = require("path");
const fs = require("fs");
const xlsx = require("node-xlsx").default;
const writeExcel = () => {
let p1 = path.join(__dirname, "./result.json");
let buff = fs.readFileSync(p1);
let jsonStr = buff.toString();
let arr = JSON.parse(jsonStr);
if (arr.length > 0) {
let excelObj = {
name: "Sheet1",
data: []
};
let headerRow = Object.keys(arr[0]);
excelObj.data.push(headerRow);
for (let item of arr) {
excelObj.data.push(Object.values(item))
}
let excelBuff = xlsx.build([excelObj]);
let excelSavePath = path.join(__dirname, "./result.xlsx");
fs.writeFileSync(excelSavePath,excelBuff);
console.log("生成成功");
}
}
writeExcel();