关于原版poi中的一个bug及解决方案

问题呈现:
        用户在“开发工具—通用码表分类”中进入任意明细,点击“Excel导出”,之后清空明细表,将导出的文件进行“Excel导入”操作时(这种情况在现实使用中并非不会发生,如用户将之前导出的文件作为备份重新导入到系统中),如果导入的码表中存在上级,那么导入的内容会有错误(“上级名称”列读取不到,默认为空),并且后台会报出类似下面的警告:


问题解析:
        现已查明该问题是由于导出的Excel文件存在问题导致的,而导出的文件存在问题根本上是由于apache的poi.jar存在bug造成的,具体原因如下:
        在通过poi进行Excel导出操作时,poi在将内容写入单元格的过程中,会将表格的维度(Dimension,即表格的区域,如7×19)信息通过org.apache.poi.hssf.record包中的DimensionRecord类时时写入到Excel文件的二进制信息中,以便该文件在被读取时使用。但是在poi中真正调用DimensionRecord类的地方是org.apache.poi.hssf.model.Sheet类中的addValueRecord方法,在该方法中存在一个条件判断错误(第956行ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值