首先附上官方中文文档
一、安装
npm i exceljs || yarn i exceljs
二、基本使用
2.1新建一个excel工作簿
const workbook = new ExcelJS.Workbook();// 工作簿,即一个Excel文件
2.2新建or删除工作表
// 创建工作表
const sheet = workbook.addWorksheet('Sheet1');
// 使用工作表 id 删除工作表
workbook.removeWorksheet(sheet.id)
2.3 获取工作簿中的某一张工作表
// 遍历所有工作表
// 注意: workbook.worksheets.forEach 仍然是可以正常运行的, 但是以下的方式更好
workbook.eachSheet(function(worksheet, sheetId) {
// ...
});
// 按 name 提取工作表
const worksheet = workbook.getWorksheet('Sheet1');
// 按 id 提取工作表
const worksheet = workbook.getWorksheet(1);
2.4获取工作表中的数据集
// 创建工作表
const sheet = workbook.addWorksheet('Sheet1');
// 获取工作表里面的数据
const sheetData = sheet.getSheetValues()
2.5表里添加数据
// 通过一个对象直接进行添加,这里展示的是单行
worksheet.addRow({id: 1, name: 'John Doe', dob: new Date(1970,1,1)});
worksheet.addRow({id: 2, name: 'Jane Doe', dob: new Date(1965,1,7)});
// 数组型数据添加到行
worksheet.addRow([3, 'Sam', new Date()]);
// 这种方式可以在插入数据时对数据进行处理
const rowValues = [];
rowValues[1] = 4;
rowValues[5] = 'Kyle';
rowValues[9] = new Date();
worksheet.addRow(rowValues);
// 进阶,一次性添加多行
const newRow = worksheet.addRow(rowValues, 'i');
const rows = [
[5,'Bob',new Date()], // row by array
{id:6, name: 'Barbara', dob: new Date()}
];
const newRows = worksheet.addRows(rows);
// 继承样式
const newRowsStyled = worksheet.addRows(rows, 'i');
2.6表格导出
await workbook.xlsx.writeFile(excelPath);