C/C++教程

poi解析excel文件获取日期的格式是数值的解决方法

本文主要是介绍poi解析excel文件获取日期的格式是数值的解决方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

poi解析excel文件获取日期的格式是数值的解决方法

今天解析excel文件获取日期的时候,本想着是带有格式的日期类似(yyyy-MM-dd或者yyyy/MM/dd)这种,却发现值发现是47331.00带有小数点的值

后来查看excel对应列的格式

 

 后来查阅资料发现这个数值是获取1900年的,然后往前或者往后推多少天然后得到填写的日期

比如说excel填写的日期的2029-08-01,那就是1900-01-01往后加47331天就是日期2029-08-01

那现在知道了问题,就好解决了,首先获取1900年份

Calendar calendar = new GregorianCalendar(1900,0,-1);
Date date = calendar.getTime();

 然后加上获取到的天数得到实际的日期

Date realDate = DateUtils.addDays(date,Double.valueOf(endDate).intValue());

 

 

这篇关于poi解析excel文件获取日期的格式是数值的解决方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!