Angular 11でカスタマイズされたヘッダーを持つExcelをエクスポートする方法


  1. ngx-export-as パッケージを使用する方法:

    • まず、ngx-export-as パッケージをインストールします。
      npm install ngx-export-as
    • エクスポートしたいデータを含むテーブルを作成します。テーブルのヘッダーには、カスタマイズしたい情報を追加します。
    • エクスポートボタンを作成し、クリックイベントを処理します。
      <button (click)="exportTable()">Excelにエクスポート</button>
    • コンポーネントで ngx-export-as をインポートし、exportTable メソッドを作成します。
      import { ExportAsService, ExportAsConfig } from 'ngx-export-as';
      export class YourComponent {
      constructor(private exportAsService: ExportAsService) {}
      exportTable() {
      const exportConfig: ExportAsConfig = {
       type: 'xlsx',
       elementIdOrContent: 'yourTableId',
       options: {
         fileName: 'custom-header-export',
         sheet: 'Sheet 1',
         columnStyles: [
           { font: { bold: true } }
      // ヘッダーのスタイルをカスタマイズ
         ]
       }
      };
      this.exportAsService.save(exportConfig);
      }
      }
    • exportConfig オブジェクトの columnStyles プロパティを使用して、ヘッダーのスタイルをカスタマイズします。上記の例では、ヘッダーフォントを太字に設定しています。
  2. ExcelJS ライブラリを使用する方法:

    • まず、exceljs ライブラリをインストールします。
      npm install exceljs
    • エクスポートしたいデータを含むテーブルを作成します。テーブルのヘッダーには、カスタマイズしたい情報を追加します。
    • エクスポートボタンを作成し、クリックイベントを処理します。
      <button (click)="exportTable()">Excelにエクスポート</button>
    • コンポーネントで exceljs をインポートし、exportTable メソッドを作成します。
      import * as ExcelJS from 'exceljs';
      export class YourComponent {
      exportTable() {
      const workbook = new ExcelJS.Workbook();
      const worksheet = workbook.addWorksheet('Sheet 1');
      // ヘッダーを追加してスタイルをカスタマイズ
      const headerRow = worksheet.addRow(['カラム1', 'カラム2', 'カラム3']);
      headerRow.font = { bold: true };
      // データを追加
      // ...
      // ファイルを保存
      workbook.xlsx.writeBuffer().then((data: ArrayBuffer) => {
       const blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
       saveAs(blob, 'custom-header-export.xlsx');
      });
      }
      }
    • headerRow.font を使用して、ヘッダーのスタイルをカスタマイズします。

以上の方法で、Angular 11でカスタマイズされたヘッダーを持つExcelをエクスポートすることができます。