最近需要实现将json数据导出到excel中,研究了一下,最终决定使用 sheetjs 的 xlsx 插件,下面是具体安装使用步骤。
1. 安装,先在命令行中输入如下命令
npm install xlsx
2. 引用
import * as XLSX from 'xlsx';
3. 使用
// 将数据导出到excel表格里
handleDownload() {
// 需要导出的数据
const exportArr = [
{ key: 1, name: "zhangsan", value: '123' },
{ key: 2, name: "lisi", value: '456' },
]
// 自定义下载的header,注意是数组中的数组哦
const Header = [['编号', '姓名', '电话']];
// 官方文档中的描述:converts an array of arrays of JS data to a worksheet.
const headerWs = XLSX.utils.aoa_to_sheet(Header);
const ws = XLSX.utils.sheet_add_json(headerWs, exportArr, {skipHeader: true, origin: "A2"});
/* 新建空workbook,然后加入worksheet */
const wb = XLSX.utils.book_new();
// 可以自定义下载之后的sheetname
XLSX.utils.book_append_sheet(wb, ws, "sheetName");
/* 生成xlsx文件 */
XLSX.writeFile(wb, "下载.xlsx");
}
4. 调用下载方法
<button onClick={this.handleDownload}>下载</button>
5. 实现效果