最近需要實現將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. 實現效果