Class OperationEvaluationContext

java.lang.Object
org.apache.poi.ss.formula.OperationEvaluationContext

public final class OperationEvaluationContext extends Object
Contains all the contextual information required to evaluate an operation within a formula For POI internal use only
  • Field Details

  • Constructor Details

    • OperationEvaluationContext

      public OperationEvaluationContext(WorkbookEvaluator bookEvaluator, EvaluationWorkbook workbook, int sheetIndex, int srcRowNum, int srcColNum, org.apache.poi.ss.formula.EvaluationTracker tracker)
    • OperationEvaluationContext

      public OperationEvaluationContext(WorkbookEvaluator bookEvaluator, EvaluationWorkbook workbook, int sheetIndex, int srcRowNum, int srcColNum, org.apache.poi.ss.formula.EvaluationTracker tracker, boolean isSingleValue)
  • Method Details

    • isArraymode

      public boolean isArraymode()
    • setArrayMode

      public void setArrayMode(boolean value)
    • getWorkbook

      public EvaluationWorkbook getWorkbook()
    • getRowIndex

      public int getRowIndex()
    • getColumnIndex

      public int getColumnIndex()
    • getRefEvaluatorForCurrentSheet

      public org.apache.poi.ss.formula.SheetRangeEvaluator getRefEvaluatorForCurrentSheet()
    • getDynamicReference

      public ValueEval getDynamicReference(String workbookName, String sheetName, String refStrPart1, String refStrPart2, boolean isA1Style)
      Resolves a cell or area reference dynamically.
      Parameters:
      workbookName - the name of the workbook containing the reference. If null the current workbook is assumed. Note - to evaluate formulas which use multiple workbooks, a CollaboratingWorkbooksEnvironment must be set up.
      sheetName - the name of the sheet containing the reference. May be null (when workbookName is also null) in which case the current workbook and sheet is assumed.
      refStrPart1 - the single cell reference or first part of the area reference. Must not be null.
      refStrPart2 - the second part of the area reference. For single cell references this parameter must be null
      isA1Style - specifies the format for refStrPart1 and refStrPart2. Pass true for 'A1' style and false for 'R1C1' style. TODO - currently POI only supports 'A1' reference style
      Returns:
      a RefEval or AreaEval
    • findUserDefinedFunction

      public FreeRefFunction findUserDefinedFunction(String functionName)
    • getRefEval

      public ValueEval getRefEval(int rowIndex, int columnIndex)
    • getRef3DEval

      public ValueEval getRef3DEval(Ref3DPtg rptg)
    • getRef3DEval

      public ValueEval getRef3DEval(Ref3DPxg rptg)
    • getAreaEval

      public ValueEval getAreaEval(int firstRowIndex, int firstColumnIndex, int lastRowIndex, int lastColumnIndex)
    • getArea3DEval

      public ValueEval getArea3DEval(Area3DPtg aptg)
    • getArea3DEval

      public ValueEval getArea3DEval(Area3DPxg aptg)
    • getAreaValueEval

      public ValueEval getAreaValueEval(int firstRowIndex, int firstColumnIndex, int lastRowIndex, int lastColumnIndex, Object[][] tokens)
    • getNameXEval

      public ValueEval getNameXEval(NameXPtg nameXPtg)
    • getNameXEval

      public ValueEval getNameXEval(NameXPxg nameXPxg)
    • getSheetIndex

      public int getSheetIndex()
    • isSingleValue

      public boolean isSingleValue()
      default true
      Returns:
      flag indicating whether evaluation should "unwrap" the result to a single value based on the context row/column