
Node.js を使用して Excel でピボット テーブルを作成する方法
Excel ファイルの最も優れた点は、データの視覚化またはコンパイルの段階で変更できることです。 MS Excel は、データの整理と複雑な計算の実行において依然としてトップ リストにあります。このブログ投稿では、プログラムで Node.js を使用して Excel でピボット テーブルを作成する方法を学習します。さらに、ピボット テーブルに基づいて Excel ファイルでピボット グラフを作成する方法についても説明します。このために、この Excel JavaScript API を Node.js プロジェクトにインストールします。
以下のセクションについて説明します。
Excel JavaScript API のインストール
この強力なライブラリをインストールするには、API パッケージを ダウンロード するか、次のコマンドを実行してインストールします。
npm install java
npm install aspose.cells
Node.js を使用して Excel でピボット テーブルを作成する方法
このセクションでは、次の手順と、プログラムで Excel にピボット テーブルを作成するコード スニペットを記述します。
次の手順とコード スニペットに従って、Excel を C# の DataTable に変換できます。
- Workbook クラスのインスタンスを作成します。
- get(index) メソッドを呼び出して、最初のワークシートの参照を取得します。
- setName メソッドを呼び出して、ワークシートの名前を設定します。
- getCells メソッドを呼び出して、Cells コレクションを取得します。
- Get 指定されたセル名の Cell 要素。
- この setValue メソッドを呼び出して、範囲の値を設定します。
- get メソッドを呼び出して、範囲内の Cell オブジェクトを取得します。
- add メソッドを呼び出して新しいシートを追加します。
- get 指定されたインデックスにある Worksheet 要素。
- setName メソッドを呼び出して、シートに名前を付けます。
- add メソッドを呼び出して、ピボット テーブルをワークシートに追加します。
- setRowGrand メソッドの値を設定して、総計を表示します。
- ピボットテーブル レポートが列の総計を表示するかどうかを示す setColumnGrand メソッドの値を設定します。
- 次に、setAutoFormat メソッドの値を設定します。これは、ピボットテーブル レポートが自動的に書式設定されるかどうかを示します。
- setAutoFormatType メソッドを呼び出して、ピボットテーブル autoformat タイプを設定します。
- addFieldToArea メソッドを呼び出して、1 番目、2 番目、3 番目、4 番目、および 5 番目のフィールドを行領域にドラッグします。
- getDataFields メソッドを呼び出して、最初のデータ フィールドの数値形式を設定します。
- save メソッドを呼び出して Excel ファイルを保存します。
次のコードをコピーしてメイン ファイルに貼り付けます。
var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Workbook クラスのインスタンスをインスタンス化する
var workbook = new aspose.cells.Workbook();
// get(index) メソッドを呼び出して、最初のワークシートの参照を取得します
var sheet = workbook.getWorksheets().get(0);
// setName メソッドを呼び出して、ワークシートの名前を設定します。
sheet.setName("Data");
// getCells メソッドを呼び出して、Cells コレクションを取得します。
var cells = sheet.getCells();
// 指定されたセル名の Cell 要素を取得します。
var cell = cells.get("A1");
// 範囲の値を設定するには、このメソッドを呼び出します。
cell.setValue("Employee");
// get メソッドを呼び出して、範囲内の Cell オブジェクトを取得します。
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Product");
cell = cells.get("D1");
cell.setValue("Continent");
cell = cells.get("E1");
cell.setValue("Country");
cell = cells.get("F1");
cell.setValue("Sale");
cell = cells.get("A2");
cell.setValue("David");
cell = cells.get("A3");
cell.setValue("David");
cell = cells.get("A4");
cell.setValue("David");
cell = cells.get("A5");
cell.setValue("David");
cell = cells.get("A6");
cell.setValue("James");
cell = cells.get("A7");
cell.setValue("James");
cell = cells.get("A8");
cell.setValue("James");
cell = cells.get("A9");
cell.setValue("James");
cell = cells.get("A10");
cell.setValue("James");
cell = cells.get("A11");
cell.setValue("Miya");
cell = cells.get("A12");
cell.setValue("Miya");
cell = cells.get("A13");
cell.setValue("Miya");
cell = cells.get("A14");
cell.setValue("Miya");
cell = cells.get("A15");
cell.setValue("Miya");
cell = cells.get("A16");
cell.setValue("Miya");
cell = cells.get("A17");
cell.setValue("Miya");
cell = cells.get("A18");
cell.setValue("Elvis");
cell = cells.get("A19");
cell.setValue("Elvis");
cell = cells.get("A20");
cell.setValue("Elvis");
cell = cells.get("A21");
cell.setValue("Elvis");
cell = cells.get("A22");
cell.setValue("Elvis");
cell = cells.get("A23");
cell.setValue("Elvis");
cell = cells.get("A24");
cell.setValue("Elvis");
cell = cells.get("A25");
cell.setValue("Jean");
cell = cells.get("A26");
cell.setValue("Jean");
cell = cells.get("A27");
cell.setValue("Jean");
cell = cells.get("A28");
cell.setValue("Ada");
cell = cells.get("A29");
cell.setValue("Ada");
cell = cells.get("A30");
cell.setValue("Ada");
cell = cells.get("B2");
cell.setValue("1");
cell = cells.get("B3");
cell.setValue("2");
cell = cells.get("B4");
cell.setValue("3");
cell = cells.get("B5");
cell.setValue("4");
cell = cells.get("B6");
cell.setValue("1");
cell = cells.get("B7");
cell.setValue("2");
cell = cells.get("B8");
cell.setValue("3");
cell = cells.get("B9");
cell.setValue("4");
cell = cells.get("B10");
cell.setValue("4");
cell = cells.get("B11");
cell.setValue("1");
cell = cells.get("B12");
cell.setValue("1");
cell = cells.get("B13");
cell.setValue("2");
cell = cells.get("B14");
cell.setValue("2");
cell = cells.get("B15");
cell.setValue("3");
cell = cells.get("B16");
cell.setValue("4");
cell = cells.get("B17");
cell.setValue("4");
cell = cells.get("B18");
cell.setValue("1");
cell = cells.get("B19");
cell.setValue("1");
cell = cells.get("B20");
cell.setValue("2");
cell = cells.get("B21");
cell.setValue("3");
cell = cells.get("B22");
cell.setValue("3");
cell = cells.get("B23");
cell.setValue("4");
cell = cells.get("B24");
cell.setValue("4");
cell = cells.get("B25");
cell.setValue("1");
cell = cells.get("B26");
cell.setValue("2");
cell = cells.get("B27");
cell.setValue("3");
cell = cells.get("B28");
cell.setValue("1");
cell = cells.get("B29");
cell.setValue("2");
cell = cells.get("B30");
cell.setValue("3");
cell = cells.get("C2");
cell.setValue("Maxilaku");
cell = cells.get("C3");
cell.setValue("Maxilaku");
cell = cells.get("C4");
cell.setValue("Chai");
cell = cells.get("C5");
cell.setValue("Maxilaku");
cell = cells.get("C6");
cell.setValue("Chang");
cell = cells.get("C7");
cell.setValue("Chang");
cell = cells.get("C8");
cell.setValue("Chang");
cell = cells.get("C9");
cell.setValue("Chang");
cell = cells.get("C10");
cell.setValue("Chang");
cell = cells.get("C11");
cell.setValue("Geitost");
cell = cells.get("C12");
cell.setValue("Chai");
cell = cells.get("C13");
cell.setValue("Geitost");
cell = cells.get("C14");
cell.setValue("Geitost");
cell = cells.get("C15");
cell.setValue("Maxilaku");
cell = cells.get("C16");
cell.setValue("Geitost");
cell = cells.get("C17");
cell.setValue("Geitost");
cell = cells.get("C18");
cell.setValue("Ikuru");
cell = cells.get("C19");
cell.setValue("Ikuru");
cell = cells.get("C20");
cell.setValue("Ikuru");
cell = cells.get("C21");
cell.setValue("Ikuru");
cell = cells.get("C22");
cell.setValue("Ipoh Coffee");
cell = cells.get("C23");
cell.setValue("Ipoh Coffee");
cell = cells.get("C24");
cell.setValue("Ipoh Coffee");
cell = cells.get("C25");
cell.setValue("Chocolade");
cell = cells.get("C26");
cell.setValue("Chocolade");
cell = cells.get("C27");
cell.setValue("Chocolade");
cell = cells.get("C28");
cell.setValue("Chocolade");
cell = cells.get("C29");
cell.setValue("Chocolade");
cell = cells.get("C30");
cell.setValue("Chocolade");
cell = cells.get("D2");
cell.setValue("Asia");
cell = cells.get("D3");
cell.setValue("Asia");
cell = cells.get("D4");
cell.setValue("Asia");
cell = cells.get("D5");
cell.setValue("Asia");
cell = cells.get("D6");
cell.setValue("Europe");
cell = cells.get("D7");
cell.setValue("Europe");
cell = cells.get("D8");
cell.setValue("Europe");
cell = cells.get("D9");
cell.setValue("Europe");
cell = cells.get("D10");
cell.setValue("Europe");
cell = cells.get("D11");
cell.setValue("America");
cell = cells.get("D12");
cell.setValue("America");
cell = cells.get("D13");
cell.setValue("America");
cell = cells.get("D14");
cell.setValue("America");
cell = cells.get("D15");
cell.setValue("America");
cell = cells.get("D16");
cell.setValue("America");
cell = cells.get("D17");
cell.setValue("America");
cell = cells.get("D18");
cell.setValue("Europe");
cell = cells.get("D19");
cell.setValue("Europe");
cell = cells.get("D20");
cell.setValue("Europe");
cell = cells.get("D21");
cell.setValue("Oceania");
cell = cells.get("D22");
cell.setValue("Oceania");
cell = cells.get("D23");
cell.setValue("Oceania");
cell = cells.get("D24");
cell.setValue("Oceania");
cell = cells.get("D25");
cell.setValue("Africa");
cell = cells.get("D26");
cell.setValue("Africa");
cell = cells.get("D27");
cell.setValue("Africa");
cell = cells.get("D28");
cell.setValue("Africa");
cell = cells.get("D29");
cell.setValue("Africa");
cell = cells.get("D30");
cell.setValue("Africa");
cell = cells.get("E2");
cell.setValue("China");
cell = cells.get("E3");
cell.setValue("India");
cell = cells.get("E4");
cell.setValue("Korea");
cell = cells.get("E5");
cell.setValue("India");
cell = cells.get("E6");
cell.setValue("France");
cell = cells.get("E7");
cell.setValue("France");
cell = cells.get("E8");
cell.setValue("Germany");
cell = cells.get("E9");
cell.setValue("Italy");
cell = cells.get("E10");
cell.setValue("France");
cell = cells.get("E11");
cell.setValue("U.S.");
cell = cells.get("E12");
cell.setValue("U.S.");
cell = cells.get("E13");
cell.setValue("Brazil");
cell = cells.get("E14");
cell.setValue("U.S.");
cell = cells.get("E15");
cell.setValue("U.S.");
cell = cells.get("E16");
cell.setValue("Canada");
cell = cells.get("E17");
cell.setValue("U.S.");
cell = cells.get("E18");
cell.setValue("Italy");
cell = cells.get("E19");
cell.setValue("France");
cell = cells.get("E20");
cell.setValue("Italy");
cell = cells.get("E21");
cell.setValue("New Zealand");
cell = cells.get("E22");
cell.setValue("Australia");
cell = cells.get("E23");
cell.setValue("Australia");
cell = cells.get("E24");
cell.setValue("New Zealand");
cell = cells.get("E25");
cell.setValue("S.Africa");
cell = cells.get("E26");
cell.setValue("S.Africa");
cell = cells.get("E27");
cell.setValue("S.Africa");
cell = cells.get("E28");
cell.setValue("Egypt");
cell = cells.get("E29");
cell.setValue("Egypt");
cell = cells.get("E30");
cell.setValue("Egypt");
cell = cells.get("F2");
cell.setValue(2000);
cell = cells.get("F3");
cell.setValue(500);
cell = cells.get("F4");
cell.setValue(1200);
cell = cells.get("F5");
cell.setValue(1500);
cell = cells.get("F6");
cell.setValue(500);
cell = cells.get("F7");
cell.setValue(1500);
cell = cells.get("F8");
cell.setValue(800);
cell = cells.get("F9");
cell.setValue(900);
cell = cells.get("F10");
cell.setValue(500);
cell = cells.get("F11");
cell.setValue(1600);
cell = cells.get("F12");
cell.setValue(600);
cell = cells.get("F13");
cell.setValue(2000);
cell = cells.get("F14");
cell.setValue(500);
cell = cells.get("F15");
cell.setValue(900);
cell = cells.get("F16");
cell.setValue(700);
cell = cells.get("F17");
cell.setValue(1400);
cell = cells.get("F18");
cell.setValue(1350);
cell = cells.get("F19");
cell.setValue(300);
cell = cells.get("F20");
cell.setValue(500);
cell = cells.get("F21");
cell.setValue(1000);
cell = cells.get("F22");
cell.setValue(1500);
cell = cells.get("F23");
cell.setValue(1500);
cell = cells.get("F24");
cell.setValue(1600);
cell = cells.get("F25");
cell.setValue(1000);
cell = cells.get("F26");
cell.setValue(1200);
cell = cells.get("F27");
cell.setValue(1300);
cell = cells.get("F28");
cell.setValue(1500);
cell = cells.get("F29");
cell.setValue(1400);
cell = cells.get("F30");
cell.setValue(1000);
// add メソッドを呼び出して新しいシートを追加する
var sheetIndex = workbook.getWorksheets().add();
// 指定されたインデックスで Worksheet 要素を取得します。
var sheet2 = workbook.getWorksheets().get(sheetIndex);
// setName メソッドを呼び出してシートに名前を付ける
sheet2.setName("PivotTable");
// シートでピボットテーブル コレクションを取得する
var pivotTables = sheet2.getPivotTables();
// add メソッドを呼び出して、ピボットテーブルをワークシートに追加します。
var index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// 新しく追加されたピボットテーブルのインスタンスを取得します
var pivotTable = pivotTables.get(index);
// setRowGrand メソッドの値を設定して総計を表示する
pivotTable.setRowGrand(true);
// ピボットテーブル レポートが列の総計を表示するかどうかを示す setColumnGrand メソッドの値を設定します。
pivotTable.setColumnGrand(true);
// ピボットテーブル レポートが自動的に書式設定されるかどうかを示す setAutoFormat メソッドの値を設定します。
pivotTable.setAutoFormat(true);
// setAutoFormatType メソッドを呼び出して、ピボットテーブルのオートフォーマット タイプを設定します。
pivotTable.setAutoFormatType(aspose.cells.PivotTableAutoFormatType.REPORT_6);
// addFieldToArea メソッドを呼び出して、1 番目、2 番目、3 番目、4 番目、および 5 番目のフィールドを行領域にドラッグします。
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 0);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 2);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 1);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.COLUMN, 3);
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.DATA, 5);
// getDataFields メソッドを呼び出して、最初のデータ フィールドの数値形式を設定します。
pivotTable.getDataFields().get(0).setNumber(7);
// save メソッドを呼び出して Excel ファイルを保存する
workbook.save( "pivotTable_test.xls");
以下の画像に出力が表示されます。

プログラムで Excel でピボット グラフを作成する方法
次に、この Excel JavaScript API を使用して、生成されたピボット テーブルに基づいてピボット グラフを作成する機能を実装します。
以下の手順とコード スニペットに従ってください。
- Workbook クラスのインスタンスを作成します。
- add メソッドを呼び出して、ワークシートをコレクションに add します。
- get 指定されたインデックスにある Worksheet 要素。
- setName メソッドを呼び出して、シートに名前を付けます。
- add メソッドを呼び出して縦棒グラフを追加します。
- get 指定されたインデックスにある Chart 要素。
- setPivotSource メソッドを呼び出して、ピボット チャートのデータ ソースを設定します。
- setHidePivotFieldButtons メソッドを呼び出して、グラフが PivotChart の場合にのみ、ピボット グラフ フィールド ボタンを非表示にします。
- save Excelファイル。
次のコードをコピーしてメイン ファイルに貼り付けます。
var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// Workbook クラスのインスタンスを作成する
var workbook = new aspose.cells.Workbook("pivotTable_test.xls");
// add メソッドを呼び出して、ワークシートをコレクションに追加します。
var sheetIndex = workbook.getWorksheets().add(aspose.cells.SheetType.CHART);
// 指定されたインデックスで Worksheet 要素を取得します。
var sheet3 = workbook.getWorksheets().get(sheetIndex);
// setName メソッドを呼び出してシートに名前を付ける
sheet3.setName("PivotChart");
// add メソッドを呼び出して縦棒グラフを追加する
var chartIndex = sheet3.getCharts().add(aspose.cells.ChartType.COLUMN, 0, 5, 28, 16);
// 指定されたインデックスにある Chart 要素を取得します。
var chart = sheet3.getCharts().get(chartIndex);
// setPivotSource メソッドを呼び出して、ピボット チャートのデータ ソースを設定します。
chart.setPivotSource("PivotTable!PivotTable1");
// setHidePivotFieldButtons メソッドを呼び出して、グラフが PivotChart の場合にのみ、ピボット グラフ フィールド ボタンを非表示にします。
chart.setHidePivotFieldButtons(false);
// エクセルファイルを保存する
workbook.save( "pivotChart_test.xls");
出力は以下の画像に示されています。

無料ライセンスを取得する
無料の一時ライセンス を利用して、評価制限なしで API を試すことができます。
まとめ
このエンタープライズ レベルの Excel JavaScript API について説明してきました。さらに、プログラムで Node.js を使用して Excel でピボット テーブルを作成する方法を学習し、ピボット チャートを作成する機能も実装しました。さらに、ドキュメント にアクセスして、他の機能を知ることができます。
さらに、Getting Started guide に従うことをお勧めします。
最後に、conholdate.com は常に新しいブログ記事を書いています。したがって、最新のアップデートについては、連絡を取り合ってください。
質問する
フォーラムで質問やクエリをお知らせください。
よくある質問
Excel でピボットテーブルを作成して編集する方法を教えてください。
この Excel JavaScript API をインストールして、プログラムで Excel にピボットテーブルを作成できます。さらに、この リンク にアクセスして、手順とコード スニペットを取得することもできます。