我想将一张工作簿(包括样式)复制到新的工作簿。将样式从一个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