1. 程式人生 > >JAVA使用POI3.5讀取EXCEL[多單元格資料型別處理,支援公式]

JAVA使用POI3.5讀取EXCEL[多單元格資料型別處理,支援公式]

本文以2003XLS讀取方式程式碼塊舉例,可以解決單元格CELL資料型別及公式問題。 全過程比較繁瑣恕不例舉。

//獲取公式執行結果處理cell值[以XLS舉例]
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.CellValue;
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
CellValue cellValue = evaluator.evaluate(cell);
//cellValue只會是Boolean;Numeric;String;Error四種
switch (cellValue.getCellTypeEnum()) {
    case BOOLEAN: //布林
        Boolean boolean = cellValue.getBooleanValue();
        break;
    case NUMERIC: //數字或日期
        if (HSSFDateUtil.isCellDateFormatted(cellValue)) { //日期[從cell獲取]
            Date date = cell.getDateCellValue();
        } else {  //數字
            Double double = cellValue.getNumberValue();
        }
        break;
    case STRING:
        String string = cellValue.getStringValue();
        break;
    case FORMULA:
    case _NONE:
    case BLANK:
    case ERROR:
    default:
        //空值
        break;
}

轉載請貼地址