怎么通过poi将Excel中的科学计数法正确导入?

在使用Java的POI库导入含有科学计数法的Excel数据时,发现数据异常。例如,3.0101E+18在导入数据库后变为3010102010199999700。通过调试发现,问题出现在Java代码中获取单元格值时。为解决此问题,可以尝试将科学计数法单元格格式转换为文本,但即使这样仍无法正确导入。解决方案是通过Excel手动批量将科学计数法单元格转为文本:选中单元格,数据分列,选择文本格式,再导入数据即可恢复正常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近导入excel表格的时候,因为excel表格中存在科学计数法,在使用poi导入数据库的时候,发现部分数据出现异常,

例如:3010102010100000000 在excel中表示为 3.0101E+18 ,选中在excel展示出来的数据是正确的,但是通过poi导入数据

库后数据就变成了3010102010199999700 ,导致公司业务不能正常运行,出现异常数据解析不了的现象。

然后通过调试,发现在Java代码 中 excel.getCellValue(row, col) 中取出的值就已经是错误的了。

所以,感觉要解决这个问题,最简单的方法就是导入数据的时候就把科学计数法变为字符串进行导入。

首先,我通过设置自定义单元格格式,将科学计数法在excel中正常显示后,发现导入后的数据仍然不正确,操作如下:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值