ピボットテーブルは Excel の強力なツールであり、データの分類、ソート、フィルタリング、要約をサポートします。レポート用にデータを要約して分析する必要がある場合は、ピボットテーブルを使用することがよくあります。この記事では、Spire.XLS for Java を使用してピボットテーブルを作成する方法を紹介します。
Spire.XLS for Java をインストールします
まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>12.9.1</version>
</dependency>
</dependencies>
ピボットテーブルを作成する方法
詳細な手順は次のとおりです。
- Workbook オブジェクトを作成します。
- Workbook.loadFromFile() メソッドを使用して、Excel サンプルドキュメントをロードします。
- Workbook.getWorksheets().get() メソッドを使用して、指定したワークシートを取得します。
- Worksheet.getCellRange() メソッドを使用して、データソース範囲を選択します。次に Workbook.getPivotCaches().add(CellRange range) メソッドを使用して、データ情報を保存するために PivotCache を作成します。
- Worksheet.getPivotTables().add(java.lang.String name, CellRange location, PivotCache cache) メソッドを使用して、ピボットテーブルを指定したワークシートに追加し、位置とキャッシュを設定します。
- ピボットテーブルの行ラベルを定義し、PivotTable.getDataFields().add(IPivotField iField, java.lang.String name, SubtotalTypes subtotal) メソッドを使用して、データ領域にフィールドを追加してデータを計算します。
- PivotTable.setBuiltInStyle(PivotBuiltInStyles builtInStyle) メソッドを使用して、ピボットテーブルのスタイルを設定します。
- Workbook.saveToFile() メソッドを使用して結果文書を保存します。
- Java
import com.spire.xls.*;
public class CreatePivotTable {
public static void main(String[] args) {
//Workbookオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelサンプルドキュメントをロードする
workbook.loadFromFile("E:\\Files\\sample.xlsx");
//最初のワークシートを取得する
Worksheet sheet = workbook.getWorksheets().get(0);
//データソース範囲を選択する
CellRange dataRange = sheet.getCellRange("B1:F11");
PivotCache cache = workbook.getPivotCaches().add(dataRange);
//指定したワークシートにピボットテーブルを追加し、位置とキャッシュを設定する
PivotTable pt = sheet.getPivotTables().add("Pivot Table", sheet.getCellRange("H3"), cache);
//ピボットテーブルの行ラベルを定義する
PivotField pf=null;
if (pt.getPivotFields().get("国") instanceof PivotField){
pf= (PivotField) pt.getPivotFields().get("国");
}
pf.setAxis(AxisTypes.Row);
PivotField pf2 =null;
if (pt.getPivotFields().get("製品") instanceof PivotField){
pf2= (PivotField) pt.getPivotFields().get("製品");
}
pf2.setAxis(AxisTypes.Row);
//データフィールドを追加してデータを計算する
pt.getDataFields().add(pt.getPivotFields().get("数量"), "合計数量", SubtotalTypes.Sum);
pt.getDataFields().add(pt.getPivotFields().get("価格"), "合計価格", SubtotalTypes.Sum);
//ピボットテーブルのスタイルを設定する
pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleMedium10);
//結果文書を保存する
workbook.saveToFile("CreatePivotTable.xlsx", ExcelVersion.Version2013);
}
}
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。