之前记录文章
Java使用POI创建excel
Java使用POI读取excel
创建了一个有简单求和公式的excel进行测试
@Test
public void testEvaluator() throws Exception{
String path = "D:\\测试获取公式.xlsx";
FileInputStream fileInputStream = new FileInputStream(path);
//获取工作簿,这里使用的07版
Workbook workbook = new XSSFWorkbook(fileInputStream);
//获取工作表
Sheet sheet = workbook.getSheetAt(0);
//获取公式所在单元格
Row row = sheet.getRow(3);
Cell cell = row.getCell(0);
//后面使用它来执行计算公式
FormulaEvaluator formulaEvaluator = new XSSFFormulaEvaluator((XSSFWorkbook) workbook);
//获取单元格内容的类型
CellType cellType = cell.getCellType();
//判断是否存储的为公式,此处本可以不加判断
if (cellType.equals(CellType.FORMULA)){
//获取公式,可以理解为已String类型获取cell的值输出
String cellFormula = cell.getCellFormula();
System.out.println(cellFormula);
//执行公式,此处cell的值就是公式
CellValue evaluate = formulaEvaluator.evaluate(cell);
System.out.println(evaluate.formatAsString());
}
}