POI Excel 單元格內容型別判斷並取值
阿新 • • 發佈:2019-01-07
做Excel匯入功能時,讀取Excel單元格內容需要區分型別
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_NUMERIC: // 數字
//如果為時間格式的內容
if (HSSFDateUtil.isCellDateFormatted(cell)) {
//注:format格式 yyyy-MM-dd hh:mm:ss 中小時為12小時制,若要24小時制,則把小h變為H即可,yyyy-MM-dd HH:mm:ss
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
value=sdf.format(HSSFDateUtil.getJavaDate(cell.
getNumericCellValue())).toString();
break;
} else {
value = new DecimalFormat("0").format(cell.getNumericCellValue());
}
break ;
case HSSFCell.CELL_TYPE_STRING: // 字串
value = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean
value = cell.getBooleanCellValue() + "";
break;
case HSSFCell.CELL_TYPE_FORMULA: // 公式
value = cell.getCellFormula() + "" ;
break;
case HSSFCell.CELL_TYPE_BLANK: // 空值
value = "";
break;
case HSSFCell.CELL_TYPE_ERROR: // 故障
value = "非法字元";
break;
default:
value = "未知型別";
break;
}