// src/utils/excel.js import * as XLSX from 'xlsx'; import FileSaver from 'file-saver'; export function exportExcel(data, fileName = '导出数据') { // 创建工作簿 const wb = XLSX.utils.book_new(); // 创建工作表 const ws = XLSX.utils.aoa_to_sheet(data); // 添加到工作簿 XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); // 生成Excel文件 const wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'array' }); // 创建Blob对象 const blob = new Blob([wbout], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); // 保存文件 FileSaver.saveAs(blob, `${fileName}_${new Date().getTime()}.xlsx`); } export function exportJsonToExcel(jsonData, headers, fileName = '导出数据') { const data = [headers]; jsonData.forEach(item => { const row = headers.map(header => { if (typeof header === 'object') { return item[header.key] || ''; } return item[header] || ''; }); data.push(row); }); exportExcel(data, fileName); }