1、安装依赖
yarn add xlsx -S
2、封装函数 exportExcel
/**
* @description:
* @param {Array} json 服务端发过来的数据
* @param {String} name 导出Excel文件名字
* @param {Array} tableTitle 导出Excel表头
* @param {String} sheetName 导出sheetName名字
* @return:
*/
// 本人使用import引入 XLSX 为undefined 暂未找到原因 所以用require引入
// import XLSX from 'xlsx'
export function exportExcel(json, name, tableTitle, sheetName) {
const XLSX = require('xlsx')
// 表头:处理成一维数组 ['name', 'sex', 'age']
const titleArr = tableTitle.map((item) => item.label)
const data = []
const dataArr = []
/*
处理数据 给json格式化为二维数组
dataArr: [['张三', '男', '18'], ['李四', '男', '18']]
*/
data.splice(0, 0, titleArr, ...dataArr)
const ws = XLSX.utils.aoa_to_sheet(data)
const wb = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(wb, ws, sheetName)
XLSX.writeFile(wb, name + '.xlsx')
}