Cannot get a STRING value from a NUMERIC cell poi异常解决;easy-poi;jeecg-boot-poi

Cannot get a STRING value from a NUMERIC cell poi异常解决;easy-poi;jeecg-boot-poi

出现原因:

在集成jeecg-boot框架开发之后
使用jeecg-boot-auto-poi (封装的easy-poi)导入数据时
因为excel中有函数表达式出现的错误
导入的代码
在这里插入图片描述
而在源码中CellValueServer这一个类,在读取excel时

在这里插入图片描述
这个地方在读取它不但判断了该cell是函数还指定该字段对应的类型为Number类型
但是读取的时候指定类为Map 而Map默认value的类型为 Object,
所以他就走到了最后一个else里面
在这里插入图片描述
但是这个方法是解析不到函数表达式的值得,就会抛出问题描述中的异常

解决方案1 :

将映射类型从Map改为一个实体类,并将函数表达式那一列设置为数值类型

解决方案2 :

这里使用的是jeecg-boot-autopoi,其他原理一样
但是有些复杂导入这里必须要使用map
所以方案是去修改源码

利用maven下载该依赖的源码
![在这里插入图片描述](https://img-blog.csdnimg.cn/1ace154c306649ae838c6b7e108e0008.png在这里插入图片描述

然后再仓库中找到该源码

在这里插入图片描述
在这里插入图片描述
将这个源码解压,新建一个模块到项目中,将源码放进去,此时会大量爆红

需要将这个pom文件引入,而这个文件中依赖版本的声明都在父pom文件中
在这里插入图片描述
父POM
在这里插入图片描述
讲这个文件中的依赖版本 填入刚才的pom文件中,这样就完成了,如图
在这里插入图片描述
然后就可以修改源码了
在这里插入图片描述

我这里修改方式是这样,大家可以根据自己业务随意修改@_@

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值