Excel里面的“公式”,可以用cell.getNumericCellValue(); 来获得“结果”,也就是“公式”计算之后的结果
是指计算公式以及计算结果。碰到读取公式类型的单元格读不出来,试了HXSSFWorkbook也读不出来,后来试了下XSSFCell.getCTCell().getV() 就读出来了。但有个问题就是XSSFCell.getCTCell().getV() 是重新计算一遍的,如果单元格的值是另外几个单元格的复数值计算的,单元值可能会出现111.000000000001 ...
CELL_TYPE_FORMULA 公式型 2 CELL_TYPE_BLANK 空值 3 CELL_TYPE_BOOLEAN 布尔型 4 CELL_TYPE_ERROR 错误 5 POI 中的CellType类型以及值的对应关系 CellType 类型 值 CELL_TYPE_NUMERIC 数值型 0 CELL_TYPE_STRING 字符串型 1 CELL_TYPE_FORMULA 公式型 2 CELL_TYPE_BLANK 空值 3 CELL_TYPE_BOOLEAN 布尔...
Cell cell = row.getCell(0); // 拿到数据类型 int type = cell.getCellType(); switch (type) { case HSSFCell.CELL_TYPE_FORMULA: String formula = cell.getCellFormula(); System.out.println("计算公式为:" + formula); // 进行计算并拿到值 CellValue value = formulaEvaluator.evaluate(cell); ...
CellType和XSSFCell是两种不同版本。 public enum CellType { @Internal( since = "POI 3.15 beta 3" ) _NONE(-1), NUMERIC(0), STRING(1), FORMULA(2), BLANK(3), BOOLEAN(4), ERROR(5); } 1. 2. 3. 4. 5. 6. 7. 8. 9.
CELL_TYPE_STRING:字符串 CELL_TYPE_BOOLEAN:布尔类型 CELL_TYPE_BLANK:没有值 CELL_TYPE_FORMULA:公式取值 三.单元格为自定义类型的时候,cell.getCellStyle().getDataFormat()值: yyyy-MM-dd--->14 yyyy年m月d日--->31 yyyy年m月--->57 m月d日...
CELL_TYPE_STRING CELL_TYPE_NUMERIC CELL_TYPE_BOOLEAN getNumericCellValue ( ) getColumnIndex ( ) getCellTypeEnum ( ) CELL_TYPE_FORMULA CELL_TYPE_BLANK CELL_TYPE_ERROR getCellFormula ( ) getBooleanCellValue ( ) setCellFormula ( ) getCellStyle ( ) getRowIndex ( ) get...
importorg.apache.poi.ss.usermodel.Cell;importorg.apache.poi.ss.usermodel.Workbook;publicclassExcelReader{publicstaticbooleanisFormulaCell(Cellcell){returncell.getCellType()==Cell.CELL_TYPE_FORMULA;}} 1. 2. 3. 4. 5. 6. 7. 8. 这段代码通过getCellType方法获取到单元格的类型,并通过比较类型是否...
1. CellType.NUMERIC:表示单元格包含数字类型的数据。 2. CellType.FORMULA:表示单元格包含公式。 3. CellType.STRING:表示单元格包含文本字符串。 4. CellType.BOOLEAN:表示单元格包含布尔值。 5. CellType.BLANK:表示单元格为空白。 6. CellType.ERROR:表示单元格包含错误值。 7. CellType.FORMULA_REF:表示...
poi中提供了org.apache.poi.ss.usermodel.FormulaEvaluator这个接口,实现对公式的更新。其中HSSFFormulaEvaluator,XSSFFormulaEvaluator实现了这个接口。 实现思路 我们可以遍历一行单元格中的所有格,判断如果其类型为Cell.CELL_TYPE_FORMULA,则证明此单元格为公式,可以使用evaluator.evaluateFormulaCell(cell);将其更新。...