org.apache.poi.ss.formula

## Interface EvaluationWorkbook

- All Known Implementing Classes:
    BaseXSSFEvaluationWorkbook, HSSFEvaluationWorkbook, SXSSFEvaluationWorkbook, XSSFEvaluationWorkbook

      @Internal
      public interface EvaluationWorkbook

  Abstracts a workbook for the purpose of formula evaluation.
  For POI internal use only
  Author:
    Josh Micich

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `EvaluationWorkbook.ExternalName`
    `static class` | `EvaluationWorkbook.ExternalSheet`
    `static class` | `EvaluationWorkbook.ExternalSheetRange`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clearAllCachedResultValues()` Propagated from `WorkbookEvaluator.clearAllCachedResultValues()` to clear locally cached data.
    `int` | `convertFromExternSheetIndex(int externSheetIndex)` HSSF Only - convert an external sheet index to an internal sheet index, for an external-style reference to one of this workbook's own sheets
    `EvaluationWorkbook.ExternalName` | `getExternalName(int externSheetIndex, int externNameIndex)` HSSF Only - fetch the external-style name details
    `EvaluationWorkbook.ExternalName` | `getExternalName(java.lang.String nameName, java.lang.String sheetName, int externalWorkbookNumber)` XSSF Only - fetch the external-style name details
    `EvaluationWorkbook.ExternalSheet` | `getExternalSheet(int externSheetIndex)` HSSF Only - fetch the external-style sheet details
    `EvaluationWorkbook.ExternalSheet` | `getExternalSheet(java.lang.String firstSheetName, java.lang.String lastSheetName, int externalWorkbookNumber)` XSSF Only - fetch the external-style sheet details
    `Ptg[]` | `getFormulaTokens(EvaluationCell cell)`
    `EvaluationName` | `getName(NamePtg namePtg)`
    `EvaluationName` | `getName(java.lang.String name, int sheetIndex)`
    `EvaluationSheet` | `getSheet(int sheetIndex)`
    `int` | `getSheetIndex(EvaluationSheet sheet)`
    `int` | `getSheetIndex(java.lang.String sheetName)` Finds a sheet index by case insensitive name.
    `java.lang.String` | `getSheetName(int sheetIndex)`
    `SpreadsheetVersion` | `getSpreadsheetVersion()`
    `UDFFinder` | `getUDFFinder()`
    `java.lang.String` | `resolveNameXText(NameXPtg ptg)`

- - ### Method Detail

    - #### getSheetName

          java.lang.String getSheetName(int sheetIndex)

    - #### getSheetIndex

          int getSheetIndex(EvaluationSheet sheet)

      Returns:
        -1 if the specified sheet is from a different book

    - #### getSheetIndex

          int getSheetIndex(java.lang.String sheetName)

      Finds a sheet index by case insensitive name.
      Returns:
        the index of the sheet matching the specified name. -1 if not found

    - #### getSheet

          EvaluationSheet getSheet(int sheetIndex)

    - #### getExternalSheet

          EvaluationWorkbook.ExternalSheet getExternalSheet(int externSheetIndex)

      HSSF Only - fetch the external-style sheet details

      Return will have no workbook set if it's actually in our own workbook

    - #### getExternalSheet

          EvaluationWorkbook.ExternalSheet getExternalSheet(java.lang.String firstSheetName,
                                                            java.lang.String lastSheetName,
                                                            int externalWorkbookNumber)

      XSSF Only - fetch the external-style sheet details

      Return will have no workbook set if it's actually in our own workbook

    - #### convertFromExternSheetIndex

          int convertFromExternSheetIndex(int externSheetIndex)

      HSSF Only - convert an external sheet index to an internal sheet index, for an external-style reference to one of this workbook's own sheets

    - #### getExternalName

          EvaluationWorkbook.ExternalName getExternalName(int externSheetIndex,
                                                          int externNameIndex)

      HSSF Only - fetch the external-style name details

    - #### getExternalName

          EvaluationWorkbook.ExternalName getExternalName(java.lang.String nameName,
                                                          java.lang.String sheetName,
                                                          int externalWorkbookNumber)

      XSSF Only - fetch the external-style name details

    - #### getName

          EvaluationName getName(NamePtg namePtg)

    - #### getName

          EvaluationName getName(java.lang.String name,
                                 int sheetIndex)

    - #### resolveNameXText

          java.lang.String resolveNameXText(NameXPtg ptg)

    - #### getFormulaTokens

          Ptg[] getFormulaTokens(EvaluationCell cell)

    - #### getUDFFinder

          UDFFinder getUDFFinder()

    - #### getSpreadsheetVersion

          SpreadsheetVersion getSpreadsheetVersion()

    - #### clearAllCachedResultValues

          void clearAllCachedResultValues()

      Propagated from `WorkbookEvaluator.clearAllCachedResultValues()` to clear locally cached data. Implementations must call the same method on all referenced `EvaluationSheet` instances, as well as clearing local caches.
      Since:
        POI 3.15 beta 3
      See Also:
        `WorkbookEvaluator.clearAllCachedResultValues()`

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.