1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2022-02-22

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();
    }
}

###ランニングの結果
02.png

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

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?