私は現在Excelの自動化に取り組んでおり、ApachePOIライブラリをうまく利用していることを追加します。
Excelブックのさまざまな列に大量のデータが保存されているため、ピボットテーブルを作成しようとしています。
POIを使用してピボットテーブルを作成する方法はありますか?
私の要件は、新しいExcelブックまたはデータを格納するのと同じブックにピボットテーブルを作成する必要があることです。
「クイックガイド」はかなり時代遅れです。
変更ログ はこれを参照します bugzillaの問題 解決済み。
あなたはコードを見ることができます ここ :
スニペットは次のとおりです。
public static void main(String[] args) throws FileNotFoundException, IOException, InvalidFormatException {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = (XSSFSheet) wb.createSheet();
//Create some data to build the pivot table on
setCellData(sheet);
XSSFPivotTable pivotTable = sheet.createPivotTable(new AreaReference("A1:D4"), new CellReference("H5"));
//Configure the pivot table
//Use first column as row label
pivotTable.addRowLabel(0);
//Sum up the second column
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 1);
//Set the third column as filter
pivotTable.addColumnLabel(DataConsolidateFunction.AVERAGE, 2);
//Add filter on forth column
pivotTable.addReportFilter(3);
FileOutputStream fileOut = new FileOutputStream("ooxml-pivottable.xlsx");
wb.write(fileOut);
fileOut.close();
}
いいえ、できません。参照 ここ
•チャート現在、チャートを作成することはできません。ただし、Excelでグラフを作成し、HSSFを使用してグラフのデータ値を変更し、新しいスプレッドシートを書き出すことはできます。これが可能なのは、POIが既存のレコードを可能な限りそのまま保持しようとするためです。
•マクロマクロは作成できません。ただし、マクロを含むファイルの読み取りと再書き込みは、マクロを安全に保持します。
•ピボットテーブルピボットテーブルの生成はサポートされていません。ピボットテーブルを含むファイルは、安全に読み取りおよび再書き込みできることが報告されています。