Java Apache POI evaluateInCell不起作用
我想禁用我的Excel表中的所有公式。 我把这个代码写成只有一个单元的testing。 虽然一切都很好,我的B3细胞仍然是公式单元格。 我搜查了很多,但没有find解决办法。 什么是我的代码的问题,或者你推荐什么?
public static void formulaDisabler() throws IOException, InvalidFormatException { FileInputStream file = new FileInputStream("C:\\Users\\Farid\\Desktop\\test.xlsx"); Workbook workbook = new XSSFWorkbook(file); Sheet sheet = workbook.getSheetAt(0); FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator(); CellReference cellReference = new CellReference("B3"); Row row = sheet.getRow(cellReference.getRow()); Cell cell; cell = row.getCell(cellReference.getCol()); if (cell != null) { switch (evaluator.evaluateInCell(cell).getCellType()) { case Cell.CELL_TYPE_BOOLEAN: System.out.println(cell.getBooleanCellValue()); break; case Cell.CELL_TYPE_NUMERIC: System.out.println(cell.getNumericCellValue()); break; case Cell.CELL_TYPE_STRING: System.out.println(cell.getStringCellValue()); break; case Cell.CELL_TYPE_BLANK: break; case Cell.CELL_TYPE_ERROR: System.out.println(cell.getErrorCellValue()); break; // CELL_TYPE_FORMULA will never occur case Cell.CELL_TYPE_FORMULA: break; } } else { System.out.println("cell is null"); } }