java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook 异常分析及解决

场景描述:
         某框架系统导出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.抛出异常位置:

java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook 异常分析及解决_第1张图片

   2.引起异常位置:

java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook 异常分析及解决_第2张图片

处理办法:

  删除style的缓存 如下:

java.lang.IllegalArgumentException: This Style does not belong to the supplied Workbook 异常分析及解决_第3张图片

 

总结

   编码要保持幂等性,这里再一次提现缓存部分变量带来的异常。

你可能感兴趣的:(POI,Java,Tomcat,Workbook,Java)