最近使用POI处理excel文件,发现有一个很大的问题,poi对excel的日期格式的支持不太好,虽然HSSFCell中定义了基本的数据格式,但是浏览一圈后可以发现是没有date类型的,而poi在处理日期数据时将其视为double,即cell.CELL_TYPE_NUMERIC类型,这给我们解析excel文件带来了很大的困难。笔者在网上也找了一些解决的博客,但大多都显得繁琐,今天我介绍一种思路简单的排查bug和解决问题的方法。
首先我们来看一个excel的文件:
可以看到的是最后一列是一个日期格式的数据,现在已知该数据的行列分别为7和6,我们直接获取HSSFCell对象cell,下面是这次问题解决的关键思路,我们直接调用cell的toString()方法,看看会有什么结果,控制台输出如下:
我们可以看到,cell直接输出了一个代表日期的字符串,但是,并不是我们想要的格式。但是,想要把这个字符串变成我们想要的格式也很简单,下面直接给