我正在使用工作表中的数据源填充数据来创建工作簿,然后使用数据透视表视图创建第二个工作表。一切正常,但我似乎无法更改数据透视表的默认外观。我正在尝试获取设置(行标签->从列表中单击一个->字段设置->小计->无和行标签->从列表中单击一个->字段设置->布局和打印->“以表格形式显示项目标签”)在创建数据透视表时已选中,但在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("");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句