2016-11-03 34 views
0

所以我正在研究一個讀取文本文件並將其寫入Excel工作簿的程序。數據寫入後,我從數據創建數據透視表。在數據透視表中獲取樣式我設置了整個工作簿樣式,因爲它只適用於帶有數據透視表的表單而不是數據表。現在我想從工作簿樣式中排除具有數據透視表的一張工作表。有沒有辦法排除一張紙或設置需要它的紙張的樣式?爲工作簿樣式Apache POI如何將工作簿樣式應用於所有數據透視表。我如何排除牀單?

代碼:

wb.createDataFormat().putFormat((short) 0, "_($* #,##0.00_);_($* (#,##0.00);_($* \"-\"??_);_(@_)"); 

透視表:

CellReference cr = new CellReference("A1"); 
CellReference c1 = new CellReference(0, 0); 
CellReference c2 = new CellReference(data.getPhysicalNumberOfRows() - 1, data.getRow(0).getLastCellNum() - 1); 

AreaReference ar = new AreaReference(c1, c2); 
XSSFPivotTable pivotTable = sheet.createPivotTable(ar, cr, data); 

pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(4).setAxis(STAxis.AXIS_COL); 
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(4).addNewItems(); 
pivotTable.getCTPivotTableDefinition().getPivotFields().getPivotFieldArray(4).getItems().addNewItem() 
     .setT(STItemType.DEFAULT); 

pivotTable.getCTPivotTableDefinition().addNewColFields().addNewField().setX(4); 

pivotTable.addRowLabel(10); 
pivotTable.addRowLabel(11); 
pivotTable.addRowLabel(1); 
pivotTable.addColumnLabel(DataConsolidateFunction.COUNT, 0); 

我已經嘗試設置樣式爲工作表中的細胞,但沒有奏效。有什麼建議麼?

回答

相關問題