Java處理Excel中的日期格式
阿新 • • 發佈:2019-02-05
在Excel中的日期格式,其數值為距離1900年1月1日的天數,比如2009-12-24將其轉化為數字格式時變成了40171,在用java處理的時候,讀取的也將是40171。
在POI處理Excel中的日期型別的單元格時,如果僅僅是判斷它是否為日期型別的話,最終會以NUMERIC型別來處理。正確的處理方法是先判斷單元格的型別是否則NUMERIC型別,然後再判斷單元格是否為日期格式,如果是的話,
在POI處理Excel中的日期型別的單元格時,如果僅僅是判斷它是否為日期型別的話,最終會以NUMERIC型別來處理。正確的處理方法是先判斷單元格的型別是否則NUMERIC型別,然後再判斷單元格是否為日期格式,如果是的話,
建立一個日期格式,再將單元格的內容以這個日期格式顯示出來。如果單元格不是日期格式,那麼則直接得到NUMERIC的值就行了。具體程式碼如下:
if (0 == cell.getCellType()) {
//判斷是否為日期型別
if(HSSFDateUtil.isCellDateFormatted(cell)){
//用於轉化為日期格式
Date d = cell.getDateCellValue();
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
str[k] = formater.format(d);
}else{
// 用於格式化數字,只保留數字的整數部分
DecimalFormat df = new DecimalFormat("########");
str[k] = df.format(cell.getNumericCellValue());
}