依赖包 yarn add js-export-excel yarn add xlsx
import ExportJsonExcel from 'js-export-excel' import moment from 'moment'; /*导出到Excel * columns与表格定义到columns可通用, * 如导出数据与api返回数据不一致,增加字段renderExcel修改原数据,理论同render,暂只支持参数为原数据 * */ export default function exportExcel(name,data,columns) { let option={}; //文件名,自动加上时间 const nameDate=moment().format("YYYYMMDDHHMMSS"); option.fileName = name+nameDate; //excel的表头 let sheetHeader=columns.map(key=>{return key.title}); //数据格式处理 let sheetData=[]; data.map((d,index)=>{ let row={}; columns.map(key=>{ if(key.renderExcel){//renderExcel返回需要导出的实际数据 row[key.dataIndex]=key.renderExcel(d[key.dataIndex]); }else { row[key.dataIndex]=d[key.dataIndex]; } return row }); sheetData.splice(index,0,row); }); option.datas=[ { sheetData:sheetData, sheetName:'sheet', sheetHeader:sheetHeader, //sheetFilter:['two','one'], //columnWidths: [20, 20] } ]; let toExcel = new ExportJsonExcel(option); //new toExcel.saveExcel(); //保存 }