org.apache.poi.hssf.usermodel
Class HSSFEvaluationWorkbook

java.lang.Object
  extended by org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook
All Implemented Interfaces:
EvaluationWorkbook, FormulaParsingWorkbook, FormulaRenderingWorkbook

@Internal
public final class HSSFEvaluationWorkbook
extends java.lang.Object
implements FormulaRenderingWorkbook, EvaluationWorkbook, FormulaParsingWorkbook

Internal POI use only


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.poi.ss.formula.EvaluationWorkbook
EvaluationWorkbook.ExternalName, EvaluationWorkbook.ExternalSheet, EvaluationWorkbook.ExternalSheetRange
 
Method Summary
 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
static HSSFEvaluationWorkbook create(HSSFWorkbook book)
           
 HSSFName createName()
          Return the underlying workbook
 Ptg get3DReferencePtg(AreaReference areaRef, SheetIdentifier sheet)
          Produce the appropriate Ptg for a 3d area reference
 Ptg get3DReferencePtg(CellReference cr, SheetIdentifier sheet)
          Produce the appropriate Ptg for a 3d cell reference
 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
 int getExternalSheetIndex(java.lang.String sheetName)
          gets the externSheet index for a sheet from this workbook
 int getExternalSheetIndex(java.lang.String workbookName, java.lang.String sheetName)
          gets the externSheet index for a sheet from an external workbook
 Ptg[] getFormulaTokens(EvaluationCell evalCell)
           
 EvaluationName getName(NamePtg namePtg)
           
 EvaluationName getName(java.lang.String name, int sheetIndex)
          Lookup a named range by its name.
 java.lang.String getNameText(NamePtg namePtg)
           
 NameXPtg getNameXPtg(java.lang.String name, SheetIdentifier sheet)
          Return an external name (named range, function, user-defined function) Ptg
 EvaluationSheet getSheet(int sheetIndex)
           
 java.lang.String getSheetFirstNameByExternSheet(int externSheetIndex)
           
 int getSheetIndex(EvaluationSheet evalSheet)
           
 int getSheetIndex(java.lang.String sheetName)
          Finds a sheet index by case insensitive name.
 java.lang.String getSheetLastNameByExternSheet(int externSheetIndex)
           
 java.lang.String getSheetName(int sheetIndex)
           
 SpreadsheetVersion getSpreadsheetVersion()
          Returns an enum holding spreadhseet properties specific to an Excel version ( max column and row numbers, max arguments to a function, etc.)
 Table getTable(java.lang.String name)
          XSSF Only - gets a table that exists in the worksheet
 UDFFinder getUDFFinder()
           
 java.lang.String resolveNameXText(NameXPtg n)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

public static HSSFEvaluationWorkbook create(HSSFWorkbook book)

clearAllCachedResultValues

public void clearAllCachedResultValues()
Description copied from interface: EvaluationWorkbook
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.

Specified by:
clearAllCachedResultValues in interface EvaluationWorkbook
See Also:
WorkbookEvaluator.clearAllCachedResultValues()

createName

public HSSFName createName()
Description copied from interface: FormulaParsingWorkbook
Return the underlying workbook

Specified by:
createName in interface FormulaParsingWorkbook

getExternalSheetIndex

public int getExternalSheetIndex(java.lang.String sheetName)
Description copied from interface: FormulaParsingWorkbook
gets the externSheet index for a sheet from this workbook

Specified by:
getExternalSheetIndex in interface FormulaParsingWorkbook

getExternalSheetIndex

public int getExternalSheetIndex(java.lang.String workbookName,
                                 java.lang.String sheetName)
Description copied from interface: FormulaParsingWorkbook
gets the externSheet index for a sheet from an external workbook

Specified by:
getExternalSheetIndex in interface FormulaParsingWorkbook
Parameters:
workbookName - e.g. "Budget.xls"
sheetName - a name of a sheet in that workbook

get3DReferencePtg

public Ptg get3DReferencePtg(CellReference cr,
                             SheetIdentifier sheet)
Description copied from interface: FormulaParsingWorkbook
Produce the appropriate Ptg for a 3d cell reference

Specified by:
get3DReferencePtg in interface FormulaParsingWorkbook

get3DReferencePtg

public Ptg get3DReferencePtg(AreaReference areaRef,
                             SheetIdentifier sheet)
Description copied from interface: FormulaParsingWorkbook
Produce the appropriate Ptg for a 3d area reference

Specified by:
get3DReferencePtg in interface FormulaParsingWorkbook

getNameXPtg

public NameXPtg getNameXPtg(java.lang.String name,
                            SheetIdentifier sheet)
Return an external name (named range, function, user-defined function) Ptg

Specified by:
getNameXPtg in interface FormulaParsingWorkbook

getName

public EvaluationName getName(java.lang.String name,
                              int sheetIndex)
Lookup a named range by its name.

Specified by:
getName in interface EvaluationWorkbook
Specified by:
getName in interface FormulaParsingWorkbook
Parameters:
name - the name to search
sheetIndex - the 0-based index of the sheet this formula belongs to. The sheet index is required to resolve sheet-level names. -1 means workbook-global names

getSheetIndex

public int getSheetIndex(EvaluationSheet evalSheet)
Specified by:
getSheetIndex in interface EvaluationWorkbook
Returns:
-1 if the specified sheet is from a different book

getSheetIndex

public int getSheetIndex(java.lang.String sheetName)
Description copied from interface: EvaluationWorkbook
Finds a sheet index by case insensitive name.

Specified by:
getSheetIndex in interface EvaluationWorkbook
Returns:
the index of the sheet matching the specified name. -1 if not found

getSheetName

public java.lang.String getSheetName(int sheetIndex)
Specified by:
getSheetName in interface EvaluationWorkbook

getSheet

public EvaluationSheet getSheet(int sheetIndex)
Specified by:
getSheet in interface EvaluationWorkbook

convertFromExternSheetIndex

public int convertFromExternSheetIndex(int externSheetIndex)
Description copied from interface: EvaluationWorkbook
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

Specified by:
convertFromExternSheetIndex in interface EvaluationWorkbook

getExternalSheet

public EvaluationWorkbook.ExternalSheet getExternalSheet(int externSheetIndex)
Description copied from interface: EvaluationWorkbook
HSSF Only - fetch the external-style sheet details

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

Specified by:
getExternalSheet in interface EvaluationWorkbook
Specified by:
getExternalSheet in interface FormulaRenderingWorkbook
Returns:
null if externSheetIndex refers to a sheet inside the current workbook

getExternalSheet

public EvaluationWorkbook.ExternalSheet getExternalSheet(java.lang.String firstSheetName,
                                                         java.lang.String lastSheetName,
                                                         int externalWorkbookNumber)
Description copied from interface: EvaluationWorkbook
XSSF Only - fetch the external-style sheet details

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

Specified by:
getExternalSheet in interface EvaluationWorkbook
Throws:
IllegalStateException: - XSSF-style external references are not supported for HSSF

getExternalName

public EvaluationWorkbook.ExternalName getExternalName(int externSheetIndex,
                                                       int externNameIndex)
Description copied from interface: EvaluationWorkbook
HSSF Only - fetch the external-style name details

Specified by:
getExternalName in interface EvaluationWorkbook

getExternalName

public EvaluationWorkbook.ExternalName getExternalName(java.lang.String nameName,
                                                       java.lang.String sheetName,
                                                       int externalWorkbookNumber)
Description copied from interface: EvaluationWorkbook
XSSF Only - fetch the external-style name details

Specified by:
getExternalName in interface EvaluationWorkbook
Throws:
IllegalStateException: - XSSF-style external names are not supported for HSSF

resolveNameXText

public java.lang.String resolveNameXText(NameXPtg n)
Specified by:
resolveNameXText in interface EvaluationWorkbook
Specified by:
resolveNameXText in interface FormulaRenderingWorkbook

getSheetFirstNameByExternSheet

public java.lang.String getSheetFirstNameByExternSheet(int externSheetIndex)
Specified by:
getSheetFirstNameByExternSheet in interface FormulaRenderingWorkbook
Returns:
the name of the (first) sheet referred to by the given external sheet index

getSheetLastNameByExternSheet

public java.lang.String getSheetLastNameByExternSheet(int externSheetIndex)
Specified by:
getSheetLastNameByExternSheet in interface FormulaRenderingWorkbook
Returns:
the name of the (last) sheet referred to by the given external sheet index

getNameText

public java.lang.String getNameText(NamePtg namePtg)
Specified by:
getNameText in interface FormulaRenderingWorkbook

getName

public EvaluationName getName(NamePtg namePtg)
Specified by:
getName in interface EvaluationWorkbook

getFormulaTokens

public Ptg[] getFormulaTokens(EvaluationCell evalCell)
Specified by:
getFormulaTokens in interface EvaluationWorkbook

getUDFFinder

public UDFFinder getUDFFinder()
Specified by:
getUDFFinder in interface EvaluationWorkbook

getSpreadsheetVersion

public SpreadsheetVersion getSpreadsheetVersion()
Description copied from interface: FormulaParsingWorkbook
Returns an enum holding spreadhseet properties specific to an Excel version ( max column and row numbers, max arguments to a function, etc.)

Specified by:
getSpreadsheetVersion in interface EvaluationWorkbook
Specified by:
getSpreadsheetVersion in interface FormulaParsingWorkbook

getTable

public Table getTable(java.lang.String name)
Description copied from interface: FormulaParsingWorkbook
XSSF Only - gets a table that exists in the worksheet

Specified by:
getTable in interface FormulaParsingWorkbook
Throws:
IllegalStateException: - data tables are not supported in Excel 97-2003 format