Class OperationEvaluationContext


  • public final class OperationEvaluationContext
    extends java.lang.Object
    Contains all the contextual information required to evaluate an operation within a formula For POI internal use only
    • Constructor Detail

      • 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 Detail

      • isArraymode

        public boolean isArraymode()
      • setArrayMode

        public void setArrayMode​(boolean value)
      • getRowIndex

        public int getRowIndex()
      • getColumnIndex

        public int getColumnIndex()
      • getRefEvaluatorForCurrentSheet

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

        public ValueEval getDynamicReference​(java.lang.String workbookName,
                                             java.lang.String sheetName,
                                             java.lang.String refStrPart1,
                                             java.lang.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​(java.lang.String functionName)
      • getRefEval

        public ValueEval getRefEval​(int rowIndex,
                                    int columnIndex)
      • getAreaEval

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

        public ValueEval getAreaValueEval​(int firstRowIndex,
                                          int firstColumnIndex,
                                          int lastRowIndex,
                                          int lastColumnIndex,
                                          java.lang.Object[][] tokens)
      • 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