Package org.apache.poi.ss.usermodel

Examples of org.apache.poi.ss.usermodel.FormulaEvaluator.evaluate()


          Cell cfs = r.createCell(3, Cell.CELL_TYPE_FORMULA);
          cfs.setCellFormula("B1");
         
          FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
          assertEquals(Cell.CELL_TYPE_NUMERIC, fe.evaluate(cfn).getCellType());
          assertEquals(Cell.CELL_TYPE_STRING, fe.evaluate(cfs).getCellType());
          fe.evaluateFormulaCell(cfn);
          fe.evaluateFormulaCell(cfs);
         
          // Now test
          assertEquals(Cell.CELL_TYPE_NUMERIC, cn.getCellType());
View Full Code Here


        Workbook workbook = XSSFTestDataSamples.openSampleWorkbook("53101.xlsx");
        FormulaEvaluator evaluator =
                workbook.getCreationHelper().createFormulaEvaluator();
        // A1: SUM(B1: IZ1)
        double a1Value =
                evaluator.evaluate(workbook.getSheetAt(0).getRow(0).getCell(0)).getNumberValue();

        // Assert
        assertEquals(259.0, a1Value, 0.0);

        // KY: SUM(B1: IZ1)
View Full Code Here

        // Assert
        assertEquals(259.0, a1Value, 0.0);

        // KY: SUM(B1: IZ1)
        double ky1Value =
                evaluator.evaluate(workbook.getSheetAt(0).getRow(0).getCell(310)).getNumberValue();

        // Assert
        assertEquals(259.0, a1Value, 0.0);
    }
View Full Code Here

     * @param cell the cell that contains the formula
     * @return the object representation of formula cell value.
     */
    private Object evaluateCellFormula(final HSSFWorkbook workbook, final Cell cell) {
        FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
        CellValue cellValue = evaluator.evaluate(cell);
        Object result = null;

        if (cellValue.getCellType() == Cell.CELL_TYPE_BOOLEAN) {
            result = cellValue.getBooleanValue();
        } else if (cellValue.getCellType() == Cell.CELL_TYPE_NUMERIC) {
View Full Code Here

    Cell cell = wb.createSheet("Sheet1").createRow(0).createCell(0);
    cell.setCellFormula("D2:D5"); // IF(TRUE,D2:D5,D2) or  OFFSET(D2:D5,0,0) would work too
    FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
    CellValue cv;
    try {
      cv = fe.evaluate(cell);
    } catch (IllegalArgumentException e) {
      if ("Specified row index (0) is outside the allowed range (1..4)".equals(e.getMessage())) {
        throw new AssertionFailedError("Identified bug in result dereferencing");
      }
      throw new RuntimeException(e);
View Full Code Here

    assertEquals(ErrorConstants.ERROR_VALUE, cv.getErrorValue());

    // verify circular refs are still detected properly
    fe.clearAllCachedResultValues();
    cell.setCellFormula("OFFSET(A1,0,0)");
    cv = fe.evaluate(cell);
    assertEquals(Cell.CELL_TYPE_ERROR, cv.getCellType());
    assertEquals(ErrorEval.CIRCULAR_REF_ERROR.getErrorCode(), cv.getErrorValue());
  }
}
View Full Code Here

    Cell cell = wb.createSheet("Sheet1").createRow(0).createCell(0);
    cell.setCellFormula("D2:D5"); // IF(TRUE,D2:D5,D2) or  OFFSET(D2:D5,0,0) would work too
    FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator();
    CellValue cv;
    try {
      cv = fe.evaluate(cell);
    } catch (IllegalArgumentException e) {
      if ("Specified row index (0) is outside the allowed range (1..4)".equals(e.getMessage())) {
        throw new AssertionFailedError("Identified bug in result dereferencing");
      }
      throw new RuntimeException(e);
View Full Code Here

    assertEquals(ErrorConstants.ERROR_VALUE, cv.getErrorValue());

    // verify circular refs are still detected properly
    fe.clearAllCachedResultValues();
    cell.setCellFormula("OFFSET(A1,0,0)");
    cv = fe.evaluate(cell);
    assertEquals(Cell.CELL_TYPE_ERROR, cv.getCellType());
    assertEquals(ErrorEval.CIRCULAR_REF_ERROR.getErrorCode(), cv.getErrorValue());
  }
}
View Full Code Here

        Cell cell3 = sh.createRow(2).createCell(0);
        cell3.setCellFormula("MYFUNC2(\"C1\")&\"-\"&A2")//where A2 is defined above
        assertEquals("MYFUNC2(\"C1\")&\"-\"&A2", cell3.getCellFormula());

        FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
        assertEquals(2.0, evaluator.evaluate(cell1).getNumberValue());
        assertEquals("B1abc", evaluator.evaluate(cell2).getStringValue());
        assertEquals("C1abc2-B1abc", evaluator.evaluate(cell3).getStringValue());

    }
View Full Code Here

        cell3.setCellFormula("MYFUNC2(\"C1\")&\"-\"&A2")//where A2 is defined above
        assertEquals("MYFUNC2(\"C1\")&\"-\"&A2", cell3.getCellFormula());

        FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
        assertEquals(2.0, evaluator.evaluate(cell1).getNumberValue());
        assertEquals("B1abc", evaluator.evaluate(cell2).getStringValue());
        assertEquals("C1abc2-B1abc", evaluator.evaluate(cell3).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.