我想將一張工作簿(包括樣式)複製到新的工作簿。將樣式從一個Excel工作簿複製到另一個
我嘗試了所有細胞的迭代和
CellStyle newCellStyle = workbook.createCellStyle();
newCellStyle.cloneStyleFrom(oldCell.getCellStyle());
newCell.setCellStyle(newCellStyle);
拋出 java.lang.IllegalStateException:超出的單元格樣式的最大數量。您可以在一個工作簿中的.xls
CellStyle newCellStyle = oldCell.getCellStyle();
newCell.setCellStyle(newCellStyle);
定義多達4000個風格拋出 java.lang.IllegalArgumentException異常:這種風格不屬於所提供的工作簿。您是否嘗試將一個工作簿中的樣式分配給不同工作簿的單元格?
什麼是複製樣式的正確方法?
一個HashMap是不是真的有一個很好的方式做這個使用'阿帕奇poi'。如果需要的是隻有舊工作簿中的一張工作表的新工作簿,則從舊文件中獲取「工作簿」,刪除所有不必要的工作表,然後將其另存爲新文件。否則唯一的方法是使用[CellUtil.setCellStyleProperties](https://poi.apache.org/apidocs/org/apache/poi/ss/util/CellUtil.html#setCellStyleProperties%28org.apache.poi.ss。 usermodel.Cell,%20java.util.Map%29)。但問題當然是如何從舊單元格中獲取全部**屬性。 –
有從舊到新工作簿樣式的地圖,依次檢查每個單元格,並且每當您找到一個新的工作簿時,在地圖上克隆+存儲? – Gagravarr