1. 程式人生 > >Java處理Excel中的日期格式

Java處理Excel中的日期格式

在Excel中的日期格式,其數值為距離1900年1月1日的天數,比如2009-12-24將其轉化為數字格式時變成了40171,在用java處理的時候,讀取的也將是40171。
在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());

}