gpt4 book ai didi

Java Apache Poi 编写 Excel

转载 作者:行者123 更新时间:2023-12-02 01:48:31 26 4
gpt4 key购买 nike

我正在使用 Java 编写一个应用程序来写入 Excel。我正在使用 apache poi 库。我需要创建数据透视表。我可以使用下面的代码创建数据透视表并对列求和。

CellReference topLeft = new CellReference(0, 0);
CellReference bottomRight = new CellReference(10, 3);
AreaReference aref = new AreaReference(topLeft, bottomRight);
CellReference pos = new CellReference(0, 0);
XSSFSheet pivotSheet = workbook.createSheet("PivotSheet");
XSSFPivotTable pivotTable = pivotSheet.createPivotTable(aref,pos,dataSheet)
pivotOrgWiseSheet.setDisplayGridlines(true);
pivotTable.addRowLabel(0);
pivotTable.addRowLabel(1);
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 2, "Sum of column3");
pivotTable.addColumnLabel(DataConsolidateFunction.SUM, 3, "Sum of column4");

但是上面的代码生成excel就像 enter image description here

但我不确定为什么关键字“values”出现在第二列标题中,并且是否可以将值“Row Label”更改为“Category”等自定义文本

我想要如下所示的内容。

enter image description here

我不知道如何删除关键字“Values”,但我想将标题更改为自定义字符串,我们必须获取值并将其设置出来?

最佳答案

Excel有一个设置Field Headers关于AnalyzeOptions选项卡,在 Show团体。这会在显示和隐藏字段标题之间切换。

参见Change the layout of columns, rows, and subtotals .

org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotTableDefinition中对应的设置是 setShowHeaders .

所以

...
pivotTable.getCTPivotTableDefinition().setShowHeaders(false);
...

应该隐藏数据透视表中的字段标题。

但是您想要的结果的图片看起来更像是数据标题可见,但 RowHeaderCaption已更改,第一行包含 DataCaption被隐藏。那将是:

...
//pivotTable.getCTPivotTableDefinition().setShowHeaders(false);
pivotTable.getCTPivotTableDefinition().setRowHeaderCaption("Category");
pivotTable.getCTPivotTableDefinition().setDataCaption("Changed Data Caption");
CellUtil.getRow(pos.getRow(), pivotSheet).setZeroHeight(true);
...

关于Java Apache Poi 编写 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53350460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com