Este team de redactores ha estado largas horas investigando para dar solución a tu duda, te regalamos la solución y esperamos serte de mucha apoyo.
Solución:
El siguiente método (una versión ligeramente modificada de XSSFPivotTable.addRowLabel) agrega una etiqueta de columna dinámica “normal”:
public static void addColLabel(XSSFPivotTable pivotTable, int columnIndex)
AreaReference pivotArea = new AreaReference(pivotTable.getPivotCacheDefinition().getCTPivotCacheDefinition()
.getCacheSource().getWorksheetSource().getRef());
int lastRowIndex = pivotArea.getLastCell().getRow() - pivotArea.getFirstCell().getRow();
int lastColIndex = pivotArea.getLastCell().getCol() - pivotArea.getFirstCell().getCol();
if (columnIndex > lastColIndex)
throw new IndexOutOfBoundsException();
CTPivotFields pivotFields = pivotTable.getCTPivotTableDefinition().getPivotFields();
CTPivotField pivotField = CTPivotField.Factory.newInstance();
CTItems items = pivotField.addNewItems();
pivotField.setAxis(STAxis.AXIS_COL);
pivotField.setShowAll(false);
for (int i = 0; i <= lastRowIndex; i++)
items.addNewItem().setT(STItemType.DEFAULT);
items.setCount(items.sizeOfItemArray());
pivotFields.setPivotFieldArray(columnIndex, pivotField);
CTColFields rowFields;
if (pivotTable.getCTPivotTableDefinition().getColFields() != null)
rowFields = pivotTable.getCTPivotTableDefinition().getColFields();
else
rowFields = pivotTable.getCTPivotTableDefinition().addNewColFields();
rowFields.addNewField().setX(columnIndex);
rowFields.setCount(rowFields.sizeOfFieldArray());
Valoraciones y reseñas
Si sostienes algún reparo y forma de ascender nuestro reseña eres capaz de dejar una explicación y con gusto lo interpretaremos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)