关注公众号 `N学无止界` 获取更多
场景描述:
某框架系统导出Excel时候第一次可以正常导出,第二次以及后续抛出异常。
java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook. Are you trying to assign a style from one workbook to the cell of a differnt workbook?
at org.apache.poi.hssf.usermodel.HSSFCellStyle.verifyBelongsToWorkbook(HSSFCellStyle.java:799)
at org.apache.poi.hssf.usermodel.HSSFCell.setCellStyle(HSSFCell.java:909)
at org.apache.poi.hssf.usermodel.HSSFCell.setCellStyle(HSSFCell.java:905)
at org.apache.poi.ss.util.CellUtil.createCell(CellUtil.java:128)
at org.apache.poi.hssf.util.HSSFCellUtil.createCell(HSSFCellUtil.java:78)
依赖环境:
JDK1.6 Tomcat7.0 poi-3.7.jar
原因如下:
1.抛出异常位置:
2.引起异常位置:
处理办法:
删除style的缓存 如下:
总结
编码要保持幂等性,这里再一次提现缓存部分变量带来的异常。