首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >又踩了AI的盲区,代码突然不work,AI也解决不了,亲自解决了,分享下解决办法

又踩了AI的盲区,代码突然不work,AI也解决不了,亲自解决了,分享下解决办法

作者头像
烟雨平生
发布2025-11-20 11:52:17
发布2025-11-20 11:52:17
490
举报
文章被收录于专栏:数字化之路数字化之路

背景:一个excel导入功能。上线前,业务提出了个小改动,然后直接改了,使用业务提供的测试数据回归时,报错了,因为excel中的数据没取到。。。

明明有值,但代码没有读取到。。。

这块代码没有动过,一下子没有思路,遇事不决,可问AI;

AI讲的太啰嗦,没有针对性,都火烧眉头了,谁来时间看这个通用但不知道哪一条work的答案。

先讲问题的原因:因为这个回归用的excel与实际用的不同。导致Excel 日期列的数据,明明可以看得见,但EasyExcel却读不到。

AI不语,即随本心

新Excel有什么不同?

实际用的excel:

本次回归用到的Excel:

同志们,后面如果再发现这种情况,把数据格式调整到约定的就可以了。

本次也是这么解决的。

不过,作为技术人,还是想了解下原因。

POI的角度看,有啥不同?

想知道原因的同学,咱们继续

是有不同。。。

就是这个不同导致EasyExcel读不到数据?

是的。就是因为数据类型不同。EasyExcel在抽象时,把不同类型的单元格值放在不同的字段,并且需要使用不同的API才能取到。。。

你怎么知道的?

dubug一下先。

先定看看这个EasyExcel的映射BO:

代码语言:javascript
复制
@ExcelProperty(value = "日期", converter = CleanStringConverter.class)
private String statementCreateDatetime;

为啥要加这个converter?因为这一列的值,前面有个“=”

代码语言:javascript
复制
return value.replaceAll("^=\"|\"$", "");

在哪打断点?

com.zkh360.gbb.finance.business.gbb.statement.alipay.util.CleanStringConverter#convertToJavaData

中打。

这是自定义converter,最终肯定会执行的。

com.alibaba.excel.metadata.data.ReadCellData对象中,不同CellType的数据存放在不同的字段,譬如stringValue存放STRING类型的CellValue,譬如numberValue存放NUMBER类型的CellValue。

获取相应的值,也需要使用对应的method才可以:

45936.3577546296是什么?

这个AI应该知道。

与Excel表格中有值是一致的。

相关阅读

EasyExcel考虑得太周到了真意外,然后踏了坑

明明只有一千多条数据,alibaba easyexcel竟然5分钟都没处理完!!!

又又又出现乱码了,这次不是taobao的接口的问题而是。。。

2亿数据怎么导出到Excel

10月马上就要结束了,我很怀念他

今年的桂花开的也有点晚,凉凉的晚风中,混着浓郁的桂花香,洗去一天的的疲惫,好舒服,好开心

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 的数字化之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新Excel有什么不同?
  • POI的角度看,有啥不同?
  • 你怎么知道的?
  • 在哪打断点?
  • 45936.3577546296是什么?
  • 相关阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档