ExcelJS 合并表头、合并单元格和在单个工作表中创建多个表格

作者:php是最好的2024.01.18 06:15浏览量:22

简介:本文将介绍如何使用 ExcelJS 库在 Excel 文件中合并表头、合并单元格以及在一个工作表中创建多个表格。我们将通过实例和代码来演示这些操作,帮助你更好地理解 ExcelJS 的功能和用法。

ExcelJS 是一个用于读写 Excel 文件的 Node.js 库。它提供了丰富的 API,可以方便地操作 Excel 文件,包括合并表头、合并单元格以及在一个工作表中创建多个表格等。下面我们将通过具体的实例和代码来演示这些操作。
合并表头
假设我们有一个名为 headers.xlsx 的 Excel 文件,其中包含以下数据:

  1. 姓名 | 年龄 | 性别
  2. ------|------|-----
  3. 张三 | 25 | 男
  4. 李四 | 30 | 女
  5. 王五 | 28 | 男

我们想要将表头合并为一个单元格,可以使用以下代码:

  1. const ExcelJS = require('exceljs');
  2. const workbook = new ExcelJS.Workbook();
  3. workbook.xlsx.readFile('headers.xlsx').then((worksheet) => {
  4. const range = worksheet['!ref']; // 获取工作表的区域范围
  5. worksheet.mergeCells('A1:C1'); // 合并 A1 到 C1 单元格
  6. worksheet.getCell('A1').value = '姓名、年龄、性别'; // 设置合并后的单元格值为 '姓名、年龄、性别'
  7. workbook.xlsx.writeFile('mergedHeaders.xlsx').then(() => {
  8. console.log('合并表头完成');
  9. });
  10. });

上述代码首先读取名为 headers.xlsx 的 Excel 文件,然后使用 mergeCells 方法将 A1 到 C1 单元格合并为一个单元格,并将合并后的单元格值设置为 ‘姓名、年龄、性别’。最后将修改后的工作簿保存为名为 mergedHeaders.xlsx 的新文件。
合并单元格
除了表头,我们还可以在表格的任意位置合并单元格。例如,我们将第 1 行第 2 列和第 3 列的单元格合并,可以使用以下代码:

  1. worksheet.mergeCells('A2:B2'); // 合并 A2 和 B2 单元格

这将合并第 1 行第 2 列和第 3 列的单元格,并将合并后的单元格值设置为 ‘25’。你可以根据需要调整合并的单元格范围。
在一个工作表中创建多个表格
ExcelJS 还支持在一个工作表中创建多个表格。例如,我们可以创建一个名为 table1 和一个名为 table2 的表格,代码如下:

  1. const table1 = worksheet.addTable({ name: 'Table1', range: 'A5:C9' }); // 在 A5 到 C9 范围内创建名为 'Table1' 的表格
  2. const table2 = worksheet.addTable({ name: 'Table2', range: 'D5:F9' }); // 在 D5 到 F9 范围内创建名为 'Table2' 的表格

这将分别在 A5 到 C9 和 D5 到 F9 的范围内创建名为 ‘Table1’ 和 ‘Table2’ 的两个表格。你可以根据需要调整表格的范围和名称。
通过以上示例和代码,你可以看到 ExcelJS 在合并表头、合并单元格以及在一个工作表中创建多个表格方面的强大功能。你可以根据实际需求调整代码,以满足你的具体要求。希望这些示例能帮助你更好地理解和使用 ExcelJS。