有些场景我们需要将json或js中的数据对象转换成Excel文档,作为一个前端,服务框架最应该熟悉的就是node了,以下是基于多语言转换实现代码,看明白原理自己改一改就能用了
1.安装node环境
2.创建一个文件夹,文件夹中创建 package.json内容如下
{ "dependencies": {"express": "^4.18.2","fs": "^0.0.1-security","node-xlsx": "^0.23.0"}
}
3.命令行切至文件夹内,执行命令 npm i
4.文件夹内创建 JsonToExcel.js,与package.json同级
var xlsx = require('node-xlsx');
const fs = require('fs');
var jsonPs = require('./json_zh/zh.json');const dataList = []
// json转excel
for (k in jsonPs) {// 组合每一行的key value 列dataList.push([k, jsonPs[k]])
}
console.log('dataList:', dataList)const list = [{name: "sheet", // 工作薄的名称data: [// ["第1行第1列", "第1行第2列", "第1行第3列"],// ["第2行第1列", "第2行第2列", "第2行第3列"]...dataList],},// 如果多个工作薄, 就是多个对象。格式如上
];
// 使用提供的构建 xlsx 文件的方法
const buffer = xlsx.build(list);fs.writeFile('fileList/zh.xls', buffer, (err) => {if (err) {console.log(err, "导出excel失败");} else {console.log("导出excel成功!");}
});
5.导入来源和导出生成文件路径根据自己实际情况定义
6.执行命令 node JsonToExcel.js