导入Excel时数据类型处理工具类

在处理导入Excel功能时,取Excel中的值时需要严格按照Excel中的数据类型来取数据;因此对于此功能编写的一个功能类如下:

/**
 * 解析Excel文件公共类	
 * @author zhh
 * @date 2017年12月12日下午3:01:57
 *
 */
public  class ExcelTool {
	/**
	 * 根据Excel单元格中的数据类型获取数据
	 * @param cell
	 * @return
	 */
	public  static String getExcelValue(HSSFCell cell){
		String value;
		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;
	 }
		return value;
	}

猜你喜欢

转载自1069843121.iteye.com/blog/2404434