POI解析EXCLE中的数字

使用POI在进行解析EXCLE文档的时候,单元格中有数字类型,该数字可能是整形,浮点型,也有可能是货币类型,那么这个时候我们如何处理呢?

  Apache给我们提供了解析单元格的集中基本格式,其中我们用CELL_TYPE_NUMERIC来用处理读取的单元格为数字类型的数据.并通过cell.getNumericCellValue()得到单元格中的内容,但是该方法获取的数据无论单元格中的是整形还是浮点型均返回的类型是double类型的,这不符合我们的日常所需.这是该如何处理这个问题呢?

       我们可以使用DecimalFormat类来解决该问题,排除我们读取到的是日期格式的数据之外,其它数据我们创建一个

            DecimalFormat  fmt=new DecimalFormat("#.####");对象并使用该对象的fmt.format(cell.getNumericCellValue());将入到的数据格式化,这样我们获取的数据 就正常了,原先单元格里的是什么,取到的就是什么.这里还需要注意一点的是,参数#.####表示格式数字后面带多少精度,若实际精度大于格式化的精度,则多出来的会被四舍五入,

           对于日期类型,在解析的时候仍会作为数字类型被CELL_TYPE_NUMERIC接受到,这时我们只需要使用HSSFDateUtil.isCellDateFormatted(cell);这个工具类的方法判断该单元格是否是日期类型即可,若是日期类型,则使用cell.getDateCellValue()来获取数据.该方法返回的是一个日期对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值