数据透视表隐藏和排序数据
Contents
[
Hide
]
数据透视表隐藏和排序数据
Aspose.Cells 支持隐藏和排序数据透视表中的数据。以下代码片段通过按降序对 Score 列进行排序然后隐藏分数小于 60 的行来演示此功能。
This file contains hidden or 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
// 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 文件以供参考。