解决POI库导入Excel整型类型解析成double类型的问题

问题描述

POI库是一个支持Excel导入导出的工具类库,同时支持.xls和xlsx两种类型

但是在使用过程中发现一个问题,POI中解析数字类型只支持解析成double类型,这就造成了原本int类型的内容解析出来的结果后面带“.0”,或者长一点的int变成科学计数法

原来的解析代码如下

double d = cell.getNumericCellValue();
String content = String.valueOf(d);

 测试的内容如下

张三 18
李四 28
王五 38
洪七公 1234567890

结果解析出来的内容如下

张三 18.0
李四 28.0
王五 38.0
洪七公 1.23456789E9

 解决方法

通过NumberFormat来格式化数字,记得关闭千位分隔符

NumberFormat numberFormat = NumberFormat.getInstance();
// 不显示千位分割符,否则显示结果会变成类似1,234,567,890
numberFormat.setGroupingUsed(false);
double d = cell.getNumericCellValue();
String content = numberFormat.format(d);

解析结果如下,与导入的内容一致

张三 18
李四 28
王五 38
洪七公 1234567890
posted @ 2019-08-09 16:40  野猿新一  阅读(107)  评论(0编辑  收藏  举报