需要用到node包node-xlsx 和nodejs的fs文件服务器读写功能
github示例demo xlsTojson
var xlsx = require("node-xlsx");
var fs = require('fs');
var list = xlsx.parse("demo.xlsx"); // 解析转换的excel文件
var data = list[0].data; // 1.读取json数据到变量暂存
var len = data.length;
var initData = []
// 2.数据处理
// 自定义数据处理start
// 本示例已industryCategory字段等价表格服务类别列生成归类的json,此处自定义处理逻辑
for (var i = 0; i < len; i++) {
if (i < len - 1) {
var item = data[i + 1];
initData.push({
"industryCategory": item[7],
"name": item[1],
"investment": item[3] + '亿元',
"investmentComplete": item[4] + '亿元',
"startTime": item[5],
"taxStatisticsTime": item[6],
"liabilityNuit": item[8],
"address": item[7]
})
}
}
var classify = {}
initData.forEach(item => {
// 遍历种类 classify 存储种类对象
let { industryCategory, ...next } = item
if (classify[item.industryCategory]) {
// 第n个
classify[item.industryCategory].push(next)
} else {
// 第一个
classify[item.industryCategory] = [next]
}
})
let outData = []
for (var key in classify) {
outData.push({
industryCategory: key,
detail: classify[key]
})
}
// 自定义数据处理end
3.数据写入本地json文件
// JSON.stringify(outData,null,4) 格式化的json数据
writeFile("demo.json", JSON.stringify(outData, null, 4)); // 输出的json文件
function writeFile(fileName, data) {
fs.writeFile(fileName, data, 'utf-8', complete); // 文件编码格式 utf-8
function complete(err) {
if (!err) {
console.log("文件生成成功");
}
}
}```