poi--读取不同类型的excel表格

要想根据不同类型excel表格获取其数据,就要先判断其表格类型

poi-api种方法:

getCellType
    public int getCellType()
        Return the cell type.

Specified by:
     getCellType in interface Cell
Returns:
     the cell type
See Also:
Cell.CELL_TYPE_BLANK, Cell.CELL_TYPE_NUMERIC, Cell.CELL_TYPE_STRING, Cell.CELL_TYPE_FORMULA, Cell.CELL_TYPE_BOOLEAN, Cell.CELL_TYPE_ERROR

--------------------------------------------------------------------------------
CELL_TYPE_NUMERIC        double
static final int CELL_TYPE_NUMERICNumeric Cell type (0)
--------------------------------------------------------------------------------
CELL_TYPE_STRING        String
static final int CELL_TYPE_STRINGString Cell type (1)
--------------------------------------------------------------------------------
CELL_TYPE_FORMULA        带excel函数
static final int CELL_TYPE_FORMULAFormula Cell type (2)
--------------------------------------------------------------------------------
CELL_TYPE_BLANK
static final int CELL_TYPE_BLANKBlank Cell type (3)
--------------------------------------------------------------------------------
CELL_TYPE_BOOLEAN        Boolean
static final int CELL_TYPE_BOOLEANBoolean Cell type (4)
--------------------------------------------------------------------------------
CELL_TYPE_ERROR
static final int CELL_TYPE_ERRORError Cell type (5)
--------------------------------------------------------------------------------
例子:
      XSSFCell xssfcell = (XSSFCell) row.getCell(0);
      switch(xssfcell.getCellType()){
        case NUMERIC://double
            double val1 = xssfcell.getNumericCellValue();
            break;
        case STRING://String
            String val2 = xssfcell.getStringCellValue();
            break;
        case FORMULA://表格内容是通过excel函数得到
            XSSFRichTextString val3 = xssfcell.getRichStringCellValue();
            String val4 = String.valueOf(val3);
            break;
        case BLANK://空白表格
            break;
        case BOOLEAN://boolean
            boolean val6 = xssfcell.getBooleanCellValue();
            break;
        case ERROR://错误单元格
            String val7 = xssfcell.getErrorCellString();
            break;
        default:
            break;
     }
原文地址:https://www.cnblogs.com/it-mh/p/10550426.html