多级表头导出
多级表头导出的代码示例
导出使用的插件是 XLSX
import * as XLSX from 'XLSX';
// 导出
const handleExport = () => {
// 多级表头
const headers = [
['表头1', '表头2', '', '表头3', '', '表头4'],
['', '表头2值', '表头2值', '表头3值', '表头3值', '表头4值', '表头4值'],
];
// 处理数据
const data = dataList.value.map((item) => [
item.name,
item.sf,
item.sftb,
item.xd,
item.xdtb,
item.xdl,
item.xdltb,
]);
const wb = XLSX.utils.book_new();
// 合并表头和数据
const wsData = [...headers, ...data];
// 创建工作表
const ws = XLSX.utils.aoa_to_sheet(wsData);
// 合并单元格(主标题)
ws['!merges'] = [
// s: 起始单元格,e:结束单元格 (r=行,c=列)
{ s: { r: 0, c: 0 }, e: { r: 1, c: 0 } }, // 场站名称
{ s: { r: 0, c: 1 }, e: { r: 0, c: 2 } }, // 发电量
{ s: { r: 0, c: 3 }, e: { r: 0, c: 4 } }, // 限电量
{ s: { r: 0, c: 5 }, e: { r: 0, c: 6 } }, // 限电比率
];
// 将工作表添加到工作簿
XLSX.utils.book_append_sheet(wb, ws, 'sheet1');
// 生成Excel文件
XLSX.writeFile(wb, '限电电量对标导出.xlsx');
};