Excelスプレッドシートのピボットテーブルは、インタラクティブな方法でデータを要約するために使用されます。ワークシートに多数の請求書のデータがあるとします。その場合、ピボットテーブルを使用して、顧客または製品ごとにグループ化された請求書を合計できます。この記事では、プログラムでExcelでピボットテーブルを処理する方法を学習します。特に、Javaを使用してExcelでピボットテーブルを作成する方法を理解するようになります。さらに、ピボットテーブルに基づいてチャートも生成します。
Excelでピボットテーブルを作成するJavaAPI
Excelのピボットテーブルを作成するには、Aspose.Cells for Javaを使用します。これは、Javaアプリケーション内からExcelファイルを生成、変更、および変換できる強力なAPIです。 APIをダウンロードするか、次のMaven構成を使用してインストールできます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>21.4</version>
</dependency>
Javaを使用してExcelでピボットテーブルを作成する
以下は、Javaを使用してExcelでピボットテーブルを作成する手順です。
- Workbookクラスを使用して、新しいExcelファイルを作成するか既存のExcelファイルをロードします。
- ワークシートにデータを入力します(オプション)。
- Worksheet.getPivotTables()メソッドを使用して、ピボットテーブルのコレクションをPivotTableCollectionオブジェクトに取得します。
- PivotTableCollection.add(string, string, string)メソッドを使用して新しいピボットテーブルを追加し、PivotTableオブジェクトでその参照を取得します。
- 総計、フォーマットなどのオプションを設定します。
- PivotTable.addFieldToArea(int, int)メソッドを使用して領域にフィールドを追加します。
- Workbook.save(string)メソッドを使用してブックを保存します。
次のコードサンプルは、Excelでピボットテーブルを追加する方法を示しています。
// Workbookオブジェクトをインスタンス化します
Workbook workbook = new Workbook("worksheet.xlsx");
// シートにアクセスする
Worksheet sheet2 = workbook.getWorksheets().get(1);
// シートでピボットテーブルコレクションを取得する
PivotTableCollection pivotTables = sheet2.getPivotTables();
// ワークシートにピボットテーブルを追加します
int index = pivotTables.add("=Data!A1:F30", "B3", "PivotTable1");
// 新しく追加されたピボットテーブルのインスタンスにアクセスします
PivotTable pivotTable = pivotTables.get(index);
// 総計を表示する
pivotTable.setRowGrand(true);
pivotTable.setColumnGrand(true);
// ピボットテーブルレポートが自動的にフォーマットされるように設定する
pivotTable.setAutoFormat(true);
// ピボットテーブルの自動フォーマットタイプを設定します。
pivotTable.setAutoFormatType(PivotTableAutoFormatType.REPORT_6);
// 最初のフィールドを行領域にドラッグします。
pivotTable.addFieldToArea(PivotFieldType.ROW, 0);
// 3番目のフィールドを行領域にドラッグします。
pivotTable.addFieldToArea(PivotFieldType.ROW, 2);
// 2番目のフィールドを行領域にドラッグします。
pivotTable.addFieldToArea(PivotFieldType.ROW, 1);
// 4番目のフィールドを列領域にドラッグします。
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 3);
// 5番目のフィールドをデータ領域にドラッグします。
pivotTable.addFieldToArea(PivotFieldType.DATA, 5);
// 最初のデータフィールドの数値形式を設定します
pivotTable.getDataFields().get(0).setNumber(7);
// Excelファイルを保存します
workbook.save("pivotTable.xls");
Excelデータ
ピボットテーブル
JavaでExcelピボットテーブルを使用してグラフを生成する
以下は、JavaでExcelピボットテーブルを使用してグラフを生成する手順です。
- Workbookクラスを使用して、新しいExcelファイルを作成するか既存のExcelファイルをロードします。
- ワークシートに入力します(オプション)。
- Workbook.getWorksheets().add(SheetType.CHART)を使用してグラフタイプの新しいワークシートを追加し、Worksheetオブジェクトでその参照を取得します。
- Worksheet.getCharts().add()メソッドを使用して新しいグラフを追加し、Chartオブジェクトでその参照を取得します。
- Chart.setPivotSource(string)メソッドを使用して、ピボットテーブルをグラフのデータソースとして設定します。
- Workbook.save(string)メソッドを使用してブックを保存します。
次のコードサンプルは、Excelピボットテーブルを使用してグラフを生成する方法を示しています。
// Workbookオブジェクトをインスタンス化します
Workbook workbook = new Workbook("pivotTable.xls");
// 新しいシートを追加する
int sheetIndex = workbook.getWorksheets().add(SheetType.CHART);
Worksheet sheet3 = workbook.getWorksheets().get(sheetIndex);
// シートに名前を付ける
sheet3.setName("PivotChart");
// 縦棒グラフを追加する
int chartIndex = sheet3.getCharts().add(ChartType.COLUMN, 0, 5, 28, 16);
Chart chart = sheet3.getCharts().get(chartIndex);
// ピボットグラフのデータソースを設定する
chart.setPivotSource("PivotTable!PivotTable1");
chart.setHidePivotFieldButtons(false);
// Excelファイルを保存します
workbook.save("pivotChart_test.xls");
無料のAPIライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしにAPIを使用できます。
結論
この記事では、Javaを使用してExcelでピボットテーブルを作成する方法を学習しました。さらに、Excelのピボットテーブルを使用してグラフを生成する方法を見てきました。 ドキュメントを使用して、JavaExcelAPIの詳細を調べることができます。ご不明な点がございましたら、フォーラムからお気軽にお問い合わせください。