poi讀取Excel時日期為數字 的解決方法
阿新 • • 發佈:2019-01-23
在使用poi解析Excel檔案時,會發現,表格中的日期解析出來是一個數字,如下:
這是Excel表格的截圖:
這是poi解析出來的這個日期的結果:
我們期望這個日期解析出來是:2015/8/21,而結果卻是42237.什麼原因呢?這個數字是什麼呢?是以1900年為原點,到2015年8月21日,之間經過的天數。
知道這個後,就很好處理了,我們拿到1900年的日期,在這個日期上加上42237天即可。如下:
Calendar calendar = new GregorianCalendar(1900,0,-1);
Date d = calendar.getTime();
然後,利用DateUtils的方法,加上天數(截圖案例中,這個天數被轉為了字串,值為42237),如下:此時,這個dd的值,打印出來,就是 Fri Aug 21 00:00:00 CST 2015,直接把這個Date型別的dd,存到資料庫,即可,儲存後如下:Date dd = DateUtils.addDays(d,Integer.valueOf(conStart1));
2015-08-21