使用poi读取excel值的同学,一定为日期类型抓狂过!
poi对单元格日期处理很弱,没有针对的类型,日期类型取出来的也是一个double值,所以同样作为数值类型。即使使用cell.setcelltype(celltype.string) 也还是会返回一个数字
网上大部分的方法是:
cell.getcelltype()
但是在新版的poi中,比如3.15版,这个写法已经被放弃使用了。由于项目需要在下不能调整jar包,只好硬着头皮去解决。
后来发现了一个方法:
cell.getcellstyle().getdataformatstring() 可以判断单元格的格式类型,如下图
于是便可以使用如下方法判断:
if("yyyy/mm;@".equals(cell.getcellstyle().getdataformatstring()) || "m/d/yy".equals(cell.getcellstyle().getdataformatstring())
|| "yy/m/d".equals(cell.g