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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30698633/article/details/79009457

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

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

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

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

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

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


     就这样,excel中展示是改过来了,但是导入还是不正常的。但是,我发现在科学计数法的单元格双击后会变成的文本

     导入数据库后数据是正常的,所以现在的重点就是怎么将科学计数法的所有单元格批量变为双击单元格后的那种形式。

     下面,将批量改变的方式介绍下:

      1、首先,我们要先批量选中所有需要修改的科学计数法单元格;

      2、然后选择数据,分列;

        

      3、然后选择下一步->下一步->文本->完成;

   

       4、然后,excel表格中的数据就会变成如下所示;

     

    5、再次尝试poi导入数据库后,你就发现数据都是正确的了。

      

猜你喜欢

转载自blog.csdn.net/qq_30698633/article/details/79009457