【问题记录】POI合并单元格导致统计数据不对

说明

最近遇到了一个朋友问我的一个问题,觉得挺有意思的,记录一下。
简单说下背景,她需要在一个系统中导出订单报表,核对下金额,结果是金额对不上。
刚开始第一反应公式不对,检查后发现没毛病。最后猜想可能是代码问题导致的。

注:

        1、别人的系统,无源码,也懒得去重现,但思路应该是对的,感兴趣的朋友可以验证下。

        2、原Excel文件删掉找不到了,下面是模拟数据截图

现象与思路

看图,最后两行的数据是合并的,合计应该是90,但竟然是100!!公式是正确的。


取消合并单元格后,发现,两个单元格都有值

再合并,再取消后,这下对了,B11为空了

 那么是什么问题呢?从现象来看,应该是后台POI合并单元格时,没有清空被合并的数据。在计算机中,通过row:col的坐标可以定位到具体的某一个单元格

 如果A1和A2合并了,这样表示

这时, 人工操作是无法给A2赋值的,但代码可以!

总结

        当通过代码开创建表格,并合并单元格时,需要把被合并的数据清空,否则虽然肉眼看不到,但是数据依然存在。

拓展

        除了这个问题,还有肉眼看不到但是机器能识别到的问题,项目中经常会遇到。如下图,当导入Excel时,颜色标记处,如果人工误操作,导致B4被编辑过,此时B4会有空值,虽然看不到值,但是系统会识别到,如果系统不做一些控制,就会出错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脱发的老袁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值