const excelPort = require("excel-export");
const fs = require("fs");
// JSON数据(此处作为示例,JSON数据写到代码当中,实际过程中,先生成JSON文件,然后通过fs.readFile读取文件内容,然后拿读取到的数据生成Excel)
var json = [
{
name: "liu",
createTime: 1597382897409,
},
{
name: "liu",
createTime: 1597382897409,
}
]
var headers = [
{
title: "买家名称",
key: "name",
},
{
title: "注册时间",
key: "createTime",
r: (val) => {
var date = new Date(val);
return `${date.getFullYear()}/${date.getMonth()}/${date.getDate()}`;
},
},
];
const generateExcel = (datas = []) => {
/**
* 定义一个空对象,来存放表头和内容
* cols,rows为固定字段,不可修改
*/
const excelConf = {
cols: [], // 表头
rows: [], // 内容
};
// 表头
excelConf.cols = headers.map((item) => {
return { caption: item.title, type: "string" };
});
// 内容
excelConf.rows = datas.map((item) => {
var arr = [];
headers.map((h_item) => {
var a = item[h_item.key];
var val = h_item.r ? h_item.r(a) : a;
arr.push(val);
});
return arr;
});
// 调用excelPort的方法,生成最终的数据
const result = excelPort.execute(excelConf);
// 写文件
fs.writeFile("./goods.xlsx", result, "binary", (err) => {
if (!err) {
console.log("生成成功!");
}
});
};
generateExcel(json);
node 实现excel 导出
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。