数据透视表隐藏和排序数据

数据透视表隐藏和排序数据

Aspose.Cells支持在数据透视表中隐藏和排序数据。以下代码片段演示了通过按得分列进行降序排序,然后隐藏得分小于60的行的功能。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the output directory.
String sourceDir = Utils.Get_SourceDirectory();
String outputDir = Utils.Get_OutputDirectory();
Workbook workbook = new Workbook(sourceDir + "PivotTableHideAndSortSample.xlsx");
Worksheet worksheet = workbook.getWorksheets().get(0);
PivotTable pivotTable = worksheet.getPivotTables().get(0);
CellArea dataBodyRange = pivotTable.getDataBodyRange();
int currentRow = 3;
int rowsUsed = dataBodyRange.EndRow;
// Sorting score in descending
PivotField field = pivotTable.getRowFields().get(0);
field.setAutoSort(true);
field.setAscendSort(false);
field.setAutoSortField(0);
pivotTable.refreshData();
pivotTable.calculateData();
// Hiding rows with score less than 60
while (currentRow < rowsUsed)
{
Cell cell = worksheet.getCells().get(currentRow, 1);
double score = (double) cell.getValue();
if (score < 60)
{
worksheet.getCells().hideRow(currentRow);
}
currentRow++;
}
pivotTable.refreshData();
pivotTable.calculateData();
// Saving the Excel file
workbook.save(outputDir + "PivotTableHideAndSort_out.xlsx");

示例代码中使用的源和输出Excel文件已附上供参考。

源文件

输出文件