POI Excel 单元格内容类型判断并取值

做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;
 }

猜你喜欢

转载自blog.csdn.net/f1204270443/article/details/54019754