java cell值_新版POI获取日期类型cell值过程图解

本文介绍了在使用POI读取Excel时遇到日期类型单元格处理问题的解决方案。由于POI将日期类型单元格作为double值返回,通过cell.getCellStyle().getDataFormatString()方法判断单元格格式,结合 SimpleDateFormat 转换日期。对于不固定格式的日期,通过字符串判断方法convertCellToString()转换。代码虽然不是最优,但在特定场景下有效。
摘要由CSDN通过智能技术生成

使用POI读取Excel值的同学,一定为日期类型抓狂过!

POI对单元格日期处理很弱,没有针对的类型,日期类型取出来的也是一个double值,所以同样作为数值类型。即使使用cell.setCellType(CellType.STRING) 也还是会返回一个数字

网上大部分的方法是:

cell.getCellType()

但是在新版的POI中,比如3.15版,这个写法已经被放弃使用了。由于项目需要在下不能调整jar包,只好硬着头皮去解决。

52b6f7d77a0682b6d1dded0b794f309b.png

后来发现了一个方法:

cell.getCellStyle().getDataFormatString() 可以判断单元格的格式类型,如下图

098a841184507aa64ef4c3380d6094fd.png

于是便可以使用如下方法判断:

if("yyyy/mm;@".equals(cell.getCellStyle().getDataFormatString()) || "m/d/yy".equals(cell.getCellStyle().getDataFormatString())

|| "yy/m/d".equals(cell.g

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值