Package org.apache.poi.hssf.usermodel

Examples of org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluate()


    double expectedResult = (4.0 * 8.0 + 5.0 * 9.0) / 10.0;

    HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(sheet1, wb);
    fe.setCurrentRow(row);
    CellValue cv = fe.evaluate(cell);

    assertEquals(HSSFCell.CELL_TYPE_NUMERIC, cv.getCellType());
    assertEquals(expectedResult, cv.getNumberValue(), 0.0);
  }

View Full Code Here


            try {
            c = r.getCell(colnum);
            if (c==null || c.getCellType() != HSSFCell.CELL_TYPE_FORMULA)
                continue;
           
            HSSFFormulaEvaluator.CellValue actualValue = evaluator.evaluate(c);
           
            HSSFCell expectedValueCell = getExpectedValueCell(s, r, c);
            assertEquals("Formula: " + c.getCellFormula()
                    + " @ " + getBeginRow() + ":" + colnum,
                    expectedValueCell, actualValue);
View Full Code Here

    sheet.createRow(32769).createCell(0).setCellValue(11);

    HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
    CellValue result;
    try {
      result = fe.evaluate(cell);
    } catch (FormulaParseException e) {
      if (!e.getMessage().equals("Found reference to named range \"A\", but that named range wasn't defined!")) {
        throw new AssertionFailedError("Identifed bug 44539");
      }
      throw e;
View Full Code Here

    HSSFCell cell = row.createCell(0);
    cell.setCellFormula("1+IF(1,,)");
    HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
    CellValue cv;
    try {
      cv = fe.evaluate(cell);
    } catch (RuntimeException e) {
      throw new AssertionFailedError("Missing arg result not being handled correctly.");
    }
    assertEquals(HSSFCell.CELL_TYPE_NUMERIC, cv.getCellType());
    // adding blank to 1.0 gives 1.0
View Full Code Here

    assertEquals(1.0, cv.getNumberValue(), 0.0);

    // check with string operand
    cell.setCellFormula("\"abc\"&IF(1,,)");
    fe.notifySetFormula(cell);
    cv = fe.evaluate(cell);
    assertEquals(HSSFCell.CELL_TYPE_STRING, cv.getCellType());
    // adding blank to "abc" gives "abc"
    assertEquals("abc", cv.getStringValue());

    // check CHOOSE()
View Full Code Here

    assertEquals("abc", cv.getStringValue());

    // check CHOOSE()
    cell.setCellFormula("\"abc\"&CHOOSE(2,5,,9)");
    fe.notifySetFormula(cell);
    cv = fe.evaluate(cell);
    assertEquals(HSSFCell.CELL_TYPE_STRING, cv.getCellType());
    // adding blank to "abc" gives "abc"
    assertEquals("abc", cv.getStringValue());
  }
View Full Code Here

    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); // B1 was used to evaluate A1
View Full Code Here

    cv = fe.evaluate(cellA1);
    assertEquals(3.7, cv.getNumberValue(), 0.0);

    cellB1.setCellType(HSSFCell.CELL_TYPE_BLANK);
    fe.notifyUpdateCell(cellB1);
    cv = fe.evaluate(cellA1); // B1 was used to evaluate A1
    assertEquals(2.2, cv.getNumberValue(), 0.0);

    cellB1.setCellValue(0.4)// changing B1, so A1 cached result should be cleared
    fe.notifyUpdateCell(cellB1);
    cv = fe.evaluate(cellA1);
View Full Code Here

    cv = fe.evaluate(cellA1); // B1 was used to evaluate A1
    assertEquals(2.2, cv.getNumberValue(), 0.0);

    cellB1.setCellValue(0.4)// changing B1, so A1 cached result should be cleared
    fe.notifyUpdateCell(cellB1);
    cv = fe.evaluate(cellA1);
    if (cv.getNumberValue() == 2.2) {
      // looks like left-over cached result from before change to B1
      throw new AssertionFailedError("Identified bug 46053");
    }
    assertEquals(2.6, cv.getNumberValue(), 0.0);
View Full Code Here

    HSSFCell myFuncCell = row.getCell(1); // =myFunc("_")

    HSSFCell myFunc2Cell = row.getCell(2); // =myFunc2("_")

    HSSFFormulaEvaluator fe = HSSFFormulaEvaluator.create(wb, null, udff);
    assertEquals("_abc", fe.evaluate(myFuncCell).getStringValue());
    assertEquals("_abc2", fe.evaluate(myFunc2Cell).getStringValue());
  }
}
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.