赞
踩
1,首先,确保您已安装exceljs
和file-saver
插件。您可以使用npm(Node.js包管理器)来安装它们:
npm install exceljs file-saver
2,在您的vue文件中,导入所需的库和模块:
import * as ExcelJS from 'exceljs';
import { saveAs } from 'file-saver';
3,准备要导出的表格数据。根据您的数据结构和需求,创建一个包含数据的数组。
4,创建一个Excel工作簿对象并设置相关属性:
const workbook = new ExcelJS.Workbook();
const worksheet = workbook.addWorksheet('Sheet1');
worksheet.columns = [
{ header: '项目名称', key: 'projectName', width: 15 },
{ header: '分包名称', key: 'subpackageName', width: 15 },
{ header: '授标顺序', key: 'awardOrder', width: 15 }
];
此处假设您的表格具有三列,并设置了标题和列宽。
5,将数据添加到工作表中:
const data = [
{ projectName: '项目1', subpackageName: '分包1', awardOrder: 1 },
{ projectName: '项目2', subpackageName: '分包2', awardOrder: 2 },
// 添加更多数据...
];
data.forEach((row) => {
worksheet.addRow(row);
});
根据您的数据结构,使用worksheet.addRow(row)
逐行添加数据到工作表
6,导出Excel文件并保存
const buffer = await workbook.xlsx.writeBuffer();
const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
saveAs(blob, '导出表格.xlsx');
使用workbook.xlsx.writeBuffer()
将工作簿转换为字节数组缓冲区。然后,使用Blob
将缓冲区创建为二进制对象。最后,使用saveAs
函数保存二进制对象为Excel文件。
完整的示例代码如下:
import * as ExcelJS from 'exceljs'; import { saveAs } from 'file-saver'; const exportToExcel = async () => { const workbook = new ExcelJS.Workbook(); const worksheet = workbook.addWorksheet('Sheet1'); worksheet.columns = [ { header: '项目名称', key: 'projectName', width: 15 }, { header: '分包名称', key: 'subpackageName', width: 15 }, { header: '授标顺序', key: 'awardOrder', width: 15 } ]; const data = [ { projectName: '项目1', subpackageName: '分包1', awardOrder: 1 }, { projectName: '项目2', subpackageName: '分包2', awardOrder: 2 }, // 添加更多数据... ]; data.forEach((row) => { worksheet.addRow(row); }); const buffer = await workbook.xlsx.writeBuffer(); const blob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); saveAs(blob, '导出表格.xlsx'); }; exportToExcel(); 请根据您的具体需求和数据结构进行相应的修改和调整。希望这可以帮助到您!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。