如何使用Java中的Apache POI库对数据透视表数据进行sorting

是否可以使用Java中的Apache POI对XSSFPivotTable数据进行sorting? 目前,我能够创build一个数据透视表,分配一个标签,并添加聚合函数,但没有运气的数据sorting。 目前我的Java代码如下:

public XSSFSheet createPivotTable (XSSFSheet datasht, XSSFSheet destinationsheet) { XSSFPivotTable pivotTable = destinationsheet.createPivotTable(new AreaReference("$A:$AV"), new CellReference("A1"), datasht); pivotTable.addRowLabel(0); pivotTable.addColumnLabel(DataConsolidateFunction.MIN, 25); pivotTable.addColumnLabel(DataConsolidateFunction.MIN, 24); pivotTable.addColumnLabel(DataConsolidateFunction.MIN, 46); pivotTable.addColumnLabel(DataConsolidateFunction.MIN, 47); /* Insert code to sort pivot table data in ascending order here */ return destinationsheet; } 

有没有人知道如何访问XSSFPivotTable的sortingfunction或知道这是甚至可能的?

我看过的另一个选项是有一个模板excel文件与预先存在的数据透视表configuration我如何(包括sorting),这是连接到一个命名的范围在Excel中。 然后,每次执行Java代码时,只需使用新数据更新模板文件中的命名范围。

然而,Excel数据透视表确实是一个奇怪的野兽,当您将“模板”excel文档保存为新文件时,数据透视表区域引用始终更新为绝对,即= OLDFILENAME.xlsx!pivotdatarange而不是= NAMEFILENAME.xlsx !pivotdatarange。

所以我对这个选项的问题是可以修改Excel中现有数据透视表的区域引用?

干杯,

玩笑