我在ExcelSheet中有一些数据,并且我正在尝试创建具有多个列标签和行标签的透视表。我需要在启用“经典透视表布局”选项的情况下生成透视表。我尝试使用以下代码执行此操作,但似乎不起作用。
org.openxmlformats.schemas.spreadsheetml.x2006.main.CTExtensionList extList = pivotTable.getCTPivotTableDefinition().addNewExtLst();
org.openxmlformats.schemas.spreadsheetml.x2006.main.CTExtension ext = extList.addNewExt();
String extXML = "<x14:pivotTableDefinition"
+ " xmlns:x14=\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main\">"
+ "<x14:pivotTableStyleInfo showColStripes=\"0\" showRowStripes=\"0\" showLastColumn=\"0\" showRowHeaders=\"1\" showColumnHeaders=\"1\"/></x14:pivotTableDefinition>";
System.out.println(extXML);
org.apache.xmlbeans.XmlObject xmlObject = org.apache.xmlbeans.XmlObject.Factory.parse(extXML);
ext.set(xmlObject);
ext.setUri("{EB79DEF2-80B8-43e5-95BD-54CBDDF9020C}");
有没有办法使用APACHE POI/ooxml在excel中启用经典数据透视表布局。
1条答案
按热度按时间t40tm48m1#
“经典数据透视表布局”包含以下设置:
在透视表定义中:
在透视字段中:
对于每个透视字段,设置Compact false并设置Outline false。每个透视字段布局既不需要紧凑,也不需要轮廓。
下面的完整示例说明了这一点。它将生成一个使用“经典数据透视表布局”的私有表: