gpt4 book ai didi

java - 使用 Apache POI 访问数据透视表的字段设置

转载 作者:行者123 更新时间:2023-11-30 06:13:22 24 4
gpt4 key购买 nike

我正在创建一个工作簿,其中包含来自数据源的工作表填充数据,然后使用该数据的数据透视 TableView 创建第二个工作表。一切正常,但我似乎无法更改数据透视表的默认外观。我正在尝试获取设置(行标签-->单击列表中的一个-->字段设置-->小计-->无和行标签-->单击列表中的一个-->字段设置-->布局和打印-->“以表格形式显示项目标签”)在创建数据透视表时检查但无法在 POI 中找到句柄/标志。尝试在 pivotTable.getCTPivotTableDefinition() 或 pivotTable.getCTPivotTableDefinition().getPivotTableStyleInfo() 下找到一些东西,但没有锁定。请告知是否有办法在数据透视表创建期间使用 poi 设置这些设置,而不是在按照括号中提到的步骤之后。这是我的数据透视表代码:

XSSFSheet sheet = (XSSFSheet)wb.createSheet("Data");
...
...
//filling data sheet, skipping this part as it's not relevant
...
XSSFSheet pivotSheet = (XSSFSheet)wb.createSheet("Pivot Table");
AreaReference source = new AreaReference(sheet.getSheetName()+"!A$1:W$"+String.valueOf(sheet.getLastRowNum()));
CellReference position = new CellReference("A3");
XSSFPivotTable pivotTable = pivotSheet.createPivotTable(source, position);


/* Add filters */
pivotTable.addRowLabel(17);
pivotTable.addRowLabel(20);
pivotTable.addRowLabel(21);
pivotTable.addRowLabel(22);
pivotTable.addRowLabel(13);
pivotTable.addRowLabel(19);
pivotTable.addRowLabel(6);
pivotTable.addRowLabel(0);
pivotTable.addRowLabel(18);
pivotTable.addRowLabel(1);
pivotTable.addRowLabel(7);
pivotTable.addRowLabel(9);

最佳答案

终于明白了;缺乏良好的文档迫使我尝试了无数的东西,最终能够实现我想要的;这是代码:

for(CTPivotField ctPivotField:pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldList()){
ctPivotField.setAutoShow(false);
ctPivotField.setOutline(false);
ctPivotField.setSubtotalTop(false);
ctPivotField.setSubtotalCaption("");
}

关于java - 使用 Apache POI 访问数据透视表的字段设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31976127/

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