ピボットテーブルにフィルタを追加
Contents
[
Hide
]
可能な使用シナリオ
既知のデータでピボットテーブルを作成し、ピボットテーブルにフィルターを追加したい場合は、フィルターを学んで使用する必要があります。Aspose.Cells Java APIを使用すると、Pivot Tablesのフィールド値にフィルターを追加できます。
ピボットテーブルにフィルタを追加
以下のサンプルコードを参照してください。データを設定し、それに基づいてPivotTableを作成します。次に、ピボットテーブルの行フィールドにフィルターを追加します。最後に、output XLSX形式でブックを保存します。例のコードを実行すると、top10フィルターが追加されたピボットテーブルがワークシートに追加されます。
サンプルコード
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Instantiating an Workbook object | |
Workbook workbook = new Workbook(); | |
//Obtaining the reference of the newly added worksheet | |
Worksheet ws = workbook.getWorksheets().get(0); | |
Cells cells = ws.getCells(); | |
//Setting the value to the cells | |
Cell cell = cells.get("A1"); | |
cell.putValue("Fruit"); | |
cell = cells.get("B1"); | |
cell.putValue("Count"); | |
cell = cells.get("A2"); | |
cell.putValue("Apple"); | |
cell = cells.get("A3"); | |
cell.putValue("Mango"); | |
cell = cells.get("A4"); | |
cell.putValue("Blackberry"); | |
cell = cells.get("A5"); | |
cell.putValue("Cherry"); | |
cell = cells.get("A6"); | |
cell.putValue("Guava"); | |
cell = cells.get("A7"); | |
cell.putValue("Carambola"); | |
cell = cells.get("A8"); | |
cell.putValue("Banana"); | |
cell = cells.get("B2"); | |
cell.putValue(5); | |
cell = cells.get("B3"); | |
cell.putValue(3); | |
cell = cells.get("B4"); | |
cell.putValue(6); | |
cell = cells.get("B5"); | |
cell.putValue(4); | |
cell = cells.get("B6"); | |
cell.putValue(5); | |
cell = cells.get("B7"); | |
cell.putValue(2); | |
cell = cells.get("B8"); | |
cell.putValue(20); | |
//Adding a PivotTable to the worksheet | |
int i = ws.getPivotTables().add("=A1:B8", "D10", "PivotTable1"); | |
//Accessing the instance of the newly added PivotTable | |
PivotTable pivotTable = ws.getPivotTables().get(i); | |
pivotTable.addFieldToArea(PivotFieldType.ROW, 0); | |
pivotTable.addFieldToArea(PivotFieldType.DATA, "Count"); | |
pivotTable.getDataFields().get(0).setFunction(ConsolidationFunction.SUM); | |
PivotField field = pivotTable.getRowFields().get(0); | |
field.setAutoSort(true); | |
field.setAscendSort(false); | |
field.setAutoSortField(0); | |
//Add top10 filter | |
PivotField filterField = pivotTable.getRowFields().get(0); | |
filterField.filterTop10(0, PivotFilterType.COUNT, false, 5); | |
pivotTable.refreshData(); | |
pivotTable.calculateData(); | |
workbook.save("out.xlsx"); |