背景

最近在应用electon写一个桌面程序,须要对数据进行excel导出操作,这里抉择应用 exceljs 来实现这个性能,上面是exceljs导出性能的简略实现。

性能实现

下载 exceljs

yarn add exceljs

引入 exceljs

const ExcelJS = require('exceljs');

创立工作簿并设置工作簿属性

const workbook = new ExcelJS.Workbook();workbook.creator = 'Me';workbook.lastModifiedBy = 'Her';workbook.created = new Date(1985, 8, 30);workbook.modified = new Date();workbook.lastPrinted = new Date(2016, 9, 27);

增加工作表

const sheet = workbook.addWorksheet('My Sheet');

工作表就是装载excel表外面数据的容器

往工作表增加数据
设置表头

worksheet.columns = [  { header: 'Id', key: 'id', width: 10 },  { header: 'Name', key: 'name', width: 32 },  { header: 'D.O.B.', key: 'DOB', width: 10 }];

增加数据

const data = [    [1, 'electron','DOB']    [2, 'exceljs', 'DOB]];worksheet.addRows(data);

导出xlsx文件

await workbook.xlsx.writeFile(filename);

所有代码

const ExcelJS = require('exceljs');const excelExport = async () => {    const workbook = new ExcelJS.Workbook();    workbook.creator = 'Me';    workbook.lastModifiedBy = 'Her';    workbook.created = new Date(1985, 8, 30);    workbook.modified = new Date();    workbook.lastPrinted = new Date(2016, 9, 27);    const worksheet = workbook.addWorksheet('My Sheet');    worksheet.columns = [      { header: 'Id', key: 'id', width: 10 },      { header: 'Name', key: 'name', width: 32 },      { header: 'D.O.B.', key: 'DOB', width: 10 }    ];    const data = [        [1, 'electron','DOB'],        [2, 'exceljs', 'DOB']    ];    worksheet.addRows(data);    await workbook.xlsx.writeFile(fileName);}excelExport();

参考资料

exceljs官网文档
exceljs官网中文文档