依賴包 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(); //保存 }