Javaを使用してExcelでピボットテーブルを作成する方法

Excelシートで処理すべきデータが多すぎて、各セルのデータをまとめる必要がありながら、1つずつ計算するのが面倒くさい場合は、ピボットテーブルを使用してすばやくまとめできます。そしてこの記事の内容では、Javaプログラムを使用してExcelテーブルのデータに基づいてピボットテーブルを作成する方法を紹介します。

 

環境への下準備

ExcelクラスライブラリツールであるFree Spire.XLS for Javaを使用する必要があります。ここでは無料バージョンを使用します。公式WebサイトからJarパッケージをダウンロードして解凍し、手動でSpire.Xls.jarをライブラリにインポートできます。フォルダをJavaプログラムに追加します。

 

Javaコード一覧

 

import com.spire.xls.*;

public class CreatePivotTable {
    public static void main(String[] args) {
        //Excelテストドキュメントを読み込む
       
Workbook wb = new Workbook();
        wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\test.xlsx");

        //最初のワークシートを取得する
       
Worksheet sheet = wb.getWorksheets().get(0);

        //集約および分析する必要のあるデータのキャッシュを作成する
       
CellRange dataRange = sheet.getCellRange("A1:D10");
        PivotCache cache = wb.getPivotCaches().add(dataRange);

        //ワークシートでピボットテーブルの名前と場所を指定して、キャッシュを使用してピボットテーブルを作成する
       
PivotTable pt = sheet.getPivotTables().add("PivotTable",sheet.getCellRange("A12"),cache);

        //行フィールド1を追加する
       
PivotField pf1 = null;
        if (pt.getPivotFields().get("") instanceof PivotField){
            pf1 = (PivotField) pt.getPivotFields().get("");
        }
        pf1.setAxis(AxisTypes.Row);

        //行フィールド2を追加する
       
PivotField pf2 = null;
        if (pt.getPivotFields().get("メーカー") instanceof PivotField){
            pf2 = (PivotField) pt.getPivotFields().get("メーカー");
        }
        pf2.setAxis(AxisTypes.Row);
        //行フィールドのタイトルを設定する
       
pt.getOptions().setRowHeaderCaption("");

        //列フィールドを追加する
       
PivotField pf3 = null;
        if (pt.getPivotFields().get("製品") instanceof PivotField){
            pf3 = (PivotField) pt.getPivotFields().get("製品");
        }
        pf3.setAxis(AxisTypes.Column);
        //列フィールドヘッダーを設定する
       
pt.getOptions().setColumnHeaderCaption("製品");

        //値フィールドを追加する
       
pt.getDataFields().add(pt.getPivotFields().get("総出力"),"総和項:総出力",SubtotalTypes.Sum);

        //ピボットテーブルのスタイルを設定する
       
pt.setBuiltInStyle(PivotBuiltInStyles.PivotStyleDark12);

        //ドキュメントを保存する
       
wb.saveToFile("ピボットテーブル.xlsx", ExcelVersion.Version2013);
        wb.dispose();
    }
}

ランニングの結果

f:id:uha_noki:20220222101739p:plain

以上は今回のExcelでピボットテーブルを作成する方法でした、最後まで読んでいただきありがとうございます。