org.apache.poi.xssf.usermodel
Class BaseXSSFEvaluationWorkbook

java.lang.Object
  extended by org.apache.poi.xssf.usermodel.BaseXSSFEvaluationWorkbook
All Implemented Interfaces:
EvaluationWorkbook, FormulaParsingWorkbook, FormulaRenderingWorkbook
Direct Known Subclasses:
SXSSFEvaluationWorkbook, XSSFEvaluationWorkbook

public abstract class BaseXSSFEvaluationWorkbook
extends java.lang.Object
implements FormulaRenderingWorkbook, EvaluationWorkbook, FormulaParsingWorkbook

Internal POI use only - parent of XSSF and SXSSF evaluation workbooks


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.poi.ss.formula.EvaluationWorkbook
EvaluationWorkbook.ExternalName, EvaluationWorkbook.ExternalSheet, EvaluationWorkbook.ExternalSheetRange
 
Field Summary
protected  XSSFWorkbook _uBook
           
 
Constructor Summary
protected BaseXSSFEvaluationWorkbook(XSSFWorkbook book)
           
 
Method Summary
 int convertFromExternSheetIndex(int externSheetIndex)
          XSSF doesn't use external sheet indexes, so when asked treat it just as a local index
 XSSFName createName()
           
 Ptg get3DReferencePtg(AreaReference area, SheetIdentifier sheet)
           
 Ptg get3DReferencePtg(CellReference cell, SheetIdentifier sheet)
           
 EvaluationWorkbook.ExternalName getExternalName(int externSheetIndex, int externNameIndex)
           
 EvaluationWorkbook.ExternalName getExternalName(java.lang.String nameName, java.lang.String sheetName, int externalWorkbookNumber)
           
 EvaluationWorkbook.ExternalSheet getExternalSheet(int externSheetIndex)
           
 EvaluationWorkbook.ExternalSheet getExternalSheet(java.lang.String firstSheetName, java.lang.String lastSheetName, int externalWorkbookNumber)
           
 int getExternalSheetIndex(java.lang.String sheetName)
           
 int getExternalSheetIndex(java.lang.String workbookName, java.lang.String sheetName)
           
 EvaluationName getName(NamePtg namePtg)
           
 EvaluationName getName(java.lang.String name, int sheetIndex)
          Return EvaluationName wrapper around the matching XSSFName (named range)
 java.lang.String getNameText(NamePtg namePtg)
           
 NameXPxg getNameXPtg(java.lang.String name, SheetIdentifier sheet)
          Return an external name (named range, function, user-defined function) Pxg
 java.lang.String getSheetFirstNameByExternSheet(int externSheetIndex)
           
 int getSheetIndex(java.lang.String sheetName)
           
 java.lang.String getSheetLastNameByExternSheet(int externSheetIndex)
           
 java.lang.String getSheetName(int sheetIndex)
           
 SpreadsheetVersion getSpreadsheetVersion()
           
 XSSFTable getTable(java.lang.String name)
          Returns the data table with the given name (case insensitive).
 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
 
Methods inherited from interface org.apache.poi.ss.formula.EvaluationWorkbook
getFormulaTokens, getSheet, getSheetIndex
 

Field Detail

_uBook

protected final XSSFWorkbook _uBook
Constructor Detail

BaseXSSFEvaluationWorkbook

protected BaseXSSFEvaluationWorkbook(XSSFWorkbook book)
Method Detail

convertFromExternSheetIndex

public int convertFromExternSheetIndex(int externSheetIndex)
XSSF doesn't use external sheet indexes, so when asked treat it just as a local index

Specified by:
convertFromExternSheetIndex in interface EvaluationWorkbook

getExternalSheetIndex

public int getExternalSheetIndex(java.lang.String sheetName)
Specified by:
getExternalSheetIndex in interface FormulaParsingWorkbook

getName

public EvaluationName getName(java.lang.String name,
                              int sheetIndex)
Return EvaluationName wrapper around the matching XSSFName (named range)

Specified by:
getName in interface EvaluationWorkbook
Specified by:
getName in interface FormulaParsingWorkbook
Parameters:
name - case-aware but case-insensitive named range in workbook
sheetIndex - index of sheet if named range scope is limited to one sheet if named range scope is global to the workbook, sheetIndex is -1.
Returns:
If name is a named range in the workbook, returns EvaluationName corresponding to that named range Returns null if there is no named range with the same name and scope in the workbook

getSheetName

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

getExternalName

public EvaluationWorkbook.ExternalName getExternalName(int externSheetIndex,
                                                       int externNameIndex)
Specified by:
getExternalName in interface EvaluationWorkbook

getExternalName

public EvaluationWorkbook.ExternalName getExternalName(java.lang.String nameName,
                                                       java.lang.String sheetName,
                                                       int externalWorkbookNumber)
Specified by:
getExternalName in interface EvaluationWorkbook

getNameXPtg

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

Specified by:
getNameXPtg in interface FormulaParsingWorkbook

get3DReferencePtg

public Ptg get3DReferencePtg(CellReference cell,
                             SheetIdentifier sheet)
Specified by:
get3DReferencePtg in interface FormulaParsingWorkbook

get3DReferencePtg

public Ptg get3DReferencePtg(AreaReference area,
                             SheetIdentifier sheet)
Specified by:
get3DReferencePtg in interface FormulaParsingWorkbook

resolveNameXText

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

getExternalSheet

public EvaluationWorkbook.ExternalSheet getExternalSheet(int externSheetIndex)
Specified by:
getExternalSheet in interface EvaluationWorkbook
Specified by:
getExternalSheet in interface FormulaRenderingWorkbook

getExternalSheet

public EvaluationWorkbook.ExternalSheet getExternalSheet(java.lang.String firstSheetName,
                                                         java.lang.String lastSheetName,
                                                         int externalWorkbookNumber)
Specified by:
getExternalSheet in interface EvaluationWorkbook

getExternalSheetIndex

@NotImplemented
public int getExternalSheetIndex(java.lang.String workbookName,
                                                java.lang.String sheetName)
Specified by:
getExternalSheetIndex in interface FormulaParsingWorkbook

getSheetIndex

public int getSheetIndex(java.lang.String sheetName)
Specified by:
getSheetIndex in interface EvaluationWorkbook

getSheetFirstNameByExternSheet

public java.lang.String getSheetFirstNameByExternSheet(int externSheetIndex)
Specified by:
getSheetFirstNameByExternSheet in interface FormulaRenderingWorkbook

getSheetLastNameByExternSheet

public java.lang.String getSheetLastNameByExternSheet(int externSheetIndex)
Specified by:
getSheetLastNameByExternSheet in interface FormulaRenderingWorkbook

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

createName

public XSSFName createName()
Specified by:
createName in interface FormulaParsingWorkbook

getTable

public XSSFTable getTable(java.lang.String name)
Returns the data table with the given name (case insensitive). Tables are cached for performance (formula evaluation looks them up by name repeatedly). After the first table lookup, adding or removing a table from the document structure will cause trouble. This is meant to be used on documents whose structure is essentially static at the point formulas are evaluated.

Specified by:
getTable in interface FormulaParsingWorkbook
Parameters:
name - the data table name (case-insensitive)
Returns:
The Data table in the workbook named name, or null if no table is named name.
Since:
3.15 beta 2

getUDFFinder

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

getSpreadsheetVersion

public SpreadsheetVersion getSpreadsheetVersion()
Specified by:
getSpreadsheetVersion in interface FormulaParsingWorkbook