在处理导入Excel功能时,取Excel中的值时需要严格按照Excel中的数据类型来取数据;因此对于此功能编写的一个功能类如下:
class="java" name="code">/** * 解析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; }
?