//根据单元格不同类型(数字/文本/公式),获取单元格值
private String getFormatCellValue(Cell cell) {
String cellValue = "";
if (cell == null) {
return "";
}
CellType type = cell.getCellType();
switch (type) {
case NUMERIC: // 数字
cellValue = cell.getNumericCellValue() + "";
cellValue = new BigDecimal(cellValue==""?"0":cellValue).toPlainString();
break;
case STRING: // 字符串
cellValue = cell.getStringCellValue();
break;
case BOOLEAN: // Boolean
cellValue = cell.getBooleanCellValue() + "";
break;
case FORMULA: // 公式
logger.info("出现公式类型");
try {
cellValue = cell.getStringCellValue();
} catch (IllegalStateException e) {
cellValue = String.valueOf(cell.getNumericCellValue());
}
break;
case BLANK: // 空值
cellValue = "";
break;
case _NONE: // 故障
cellValue = "非法字符";
break;
default:
cellValue = "未知类型";
break;
}
return cellValue;
}