The following code demonstrates the problem: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("Sheet1"); HSSFRow row = sheet.createRow(0); HSSFCell cellA1 = row.createCell(0); HSSFCell cellB1 = row.createCell(1); HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb); cellA1.setCellFormula("B1+2.2"); cellB1.setCellValue(1.5); fe.notifyUpdateCell(cellA1); fe.notifyUpdateCell(cellB1); CellValue cv; cv = fe.evaluate(cellA1); assertEquals(3.7, cv.getNumberValue(), 0.0); cellB1.setCellType(HSSFCell.CELL_TYPE_BLANK); fe.notifyUpdateCell(cellB1); cv = fe.evaluate(cellA1); assertEquals(2.2, cv.getNumberValue(), 0.0); cellB1.setCellValue(0.4); fe.notifyUpdateCell(cellB1); cv = fe.evaluate(cellA1); if (cv.getNumberValue() == 2.2) { throw new AssertionFailedError("Error in evaluation dependency (cached value not reset)"); } assertEquals(2.6, cv.getNumberValue(), 0.0);
Fixed in svn r706722
(In reply to comment #1) > Fixed in svn r706722 > oops - actually it was svn r706772