Package org.apache.poi.xssf.usermodel
Class XSSFName
- java.lang.Object
-
- org.apache.poi.xssf.usermodel.XSSFName
-
- All Implemented Interfaces:
Name
public final class XSSFName extends java.lang.Object implements Name
Represents a defined named range in a SpreadsheetML workbook.Defined names are descriptive text that is used to represents a cell, range of cells, formula, or constant value. Use easy-to-understand names, such as Products, to refer to hard to understand ranges, such as
Example:Sales!C20:C30
.XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sh = wb.createSheet("Sheet1"); //applies to the entire workbook XSSFName name1 = wb.createName(); name1.setNameName("FMLA"); name1.setRefersToFormula("Sheet1!$B$3"); //applies to Sheet1 XSSFName name2 = wb.createName(); name2.setNameName("SheetLevelName"); name2.setComment("This name is scoped to Sheet1"); name2.setLocalSheetId(0); name2.setRefersToFormula("Sheet1!$B$3");
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BUILTIN_CONSOLIDATE_AREA
A built-in defined name that refers to a consolidation areastatic java.lang.String
BUILTIN_CRITERIA
A built-in defined name that refers to a range containing the criteria values to be used in applying an advanced filter to a range of datastatic java.lang.String
BUILTIN_DATABASE
A built-in defined name that specified that the range specified is from a database data sourcestatic java.lang.String
BUILTIN_EXTRACT
this defined name refers to the range containing the filtered output values resulting from applying an advanced filter criteria to a source rangestatic java.lang.String
BUILTIN_FILTER_DB
Can be one of the following this defined name refers to a range to which an advanced filter has been applied.static java.lang.String
BUILTIN_PRINT_AREA
A built-in defined name that specifies the workbook's print areastatic java.lang.String
BUILTIN_PRINT_TITLE
A built-in defined name that specifies the row(s) or column(s) to repeat at the top of each printed page.static java.lang.String
BUILTIN_SHEET_TITLE
A built-in defined name that refers to a sheet title.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
Compares this name to the specified object.java.lang.String
getComment()
Returns the comment the user provided when the name was created.boolean
getFunction()
Indicates that the defined name refers to a user-defined function.int
getFunctionGroupId()
Returns the function group index if the defined name refers to a function.java.lang.String
getNameName()
Returns the name that will appear in the user interface for the defined name.java.lang.String
getRefersToFormula()
Returns the formula that the name is defined to refer to.int
getSheetIndex()
Returns the sheet index this name applies to.java.lang.String
getSheetName()
Get the sheets name which this named range is referenced toint
hashCode()
boolean
isDeleted()
Checks if this name points to a cell that no longer existsboolean
isFunctionName()
Is the name refers to a user-defined function ?boolean
isHidden()
Checks if this name is hidden, eg one of the built-in Excel internal namesvoid
setComment(java.lang.String comment)
Specifies the comment the user provided when the name was created.void
setFunction(boolean value)
Indicates that the defined name refers to a user-defined function.void
setFunctionGroupId(int functionGroupId)
Specifies the function group index if the defined name refers to a function.void
setNameName(java.lang.String name)
Sets the name that will appear in the user interface for the defined name.void
setRefersToFormula(java.lang.String formulaText)
Sets the formula that the name is defined to refer to.void
setSheetIndex(int index)
Tell Excel that this name applies to the worksheet with the specified index instead of the entire workbook.
-
-
-
Field Detail
-
BUILTIN_PRINT_AREA
public static final java.lang.String BUILTIN_PRINT_AREA
A built-in defined name that specifies the workbook's print area- See Also:
- Constant Field Values
-
BUILTIN_PRINT_TITLE
public static final java.lang.String BUILTIN_PRINT_TITLE
A built-in defined name that specifies the row(s) or column(s) to repeat at the top of each printed page.- See Also:
- Constant Field Values
-
BUILTIN_CRITERIA
public static final java.lang.String BUILTIN_CRITERIA
A built-in defined name that refers to a range containing the criteria values to be used in applying an advanced filter to a range of data- See Also:
- Constant Field Values
-
BUILTIN_EXTRACT
public static final java.lang.String BUILTIN_EXTRACT
this defined name refers to the range containing the filtered output values resulting from applying an advanced filter criteria to a source range- See Also:
- Constant Field Values
-
BUILTIN_FILTER_DB
public static final java.lang.String BUILTIN_FILTER_DB
Can be one of the following- this defined name refers to a range to which an advanced filter has been applied. This represents the source data range, unfiltered.
- This defined name refers to a range to which an AutoFilter has been applied
- See Also:
- Constant Field Values
-
BUILTIN_CONSOLIDATE_AREA
public static final java.lang.String BUILTIN_CONSOLIDATE_AREA
A built-in defined name that refers to a consolidation area- See Also:
- Constant Field Values
-
BUILTIN_DATABASE
public static final java.lang.String BUILTIN_DATABASE
A built-in defined name that specified that the range specified is from a database data source- See Also:
- Constant Field Values
-
BUILTIN_SHEET_TITLE
public static final java.lang.String BUILTIN_SHEET_TITLE
A built-in defined name that refers to a sheet title.- See Also:
- Constant Field Values
-
-
Method Detail
-
getNameName
public java.lang.String getNameName()
Returns the name that will appear in the user interface for the defined name.- Specified by:
getNameName
in interfaceName
- Returns:
- text name of this defined name
-
setNameName
public void setNameName(java.lang.String name)
Sets the name that will appear in the user interface for the defined name. Names must begin with a letter or underscore, not contain spaces and be unique across the workbook.A name must always be unique within its scope. POI prevents you from defining a name that is not unique within its scope. However you can use the same name in different scopes. Example:
//by default names are workbook-global XSSFName name; name = workbook.createName(); name.setNameName("sales_08"); name = workbook.createName(); name.setNameName("sales_08"); //will throw an exception: "The workbook already contains this name (case-insensitive)" //create sheet-level name name = workbook.createName(); name.setSheetIndex(0); //the scope of the name is the first sheet name.setNameName("sales_08"); //ok name = workbook.createName(); name.setSheetIndex(0); name.setNameName("sales_08"); //will throw an exception: "The sheet already contains this name (case-insensitive)"
- Specified by:
setNameName
in interfaceName
- Parameters:
name
- name of this defined name- Throws:
java.lang.IllegalArgumentException
- if the name is invalid or the workbook already contains this name (case-insensitive)
-
getRefersToFormula
public java.lang.String getRefersToFormula()
Description copied from interface:Name
Returns the formula that the name is defined to refer to.- Specified by:
getRefersToFormula
in interfaceName
- Returns:
- the reference for this name,
null
if it has not been set yet. Never empty string - See Also:
Name.setRefersToFormula(String)
-
setRefersToFormula
public void setRefersToFormula(java.lang.String formulaText)
Description copied from interface:Name
Sets the formula that the name is defined to refer to. The following are representative examples:'My Sheet'!$A$3
8.3
HR!$A$1:$Z$345
SUM(Sheet1!A1,Sheet2!B2)
-PMT(Interest_Rate/12,Number_of_Payments,Loan_Amount)
- Specified by:
setRefersToFormula
in interfaceName
- Parameters:
formulaText
- the reference for this name
-
isDeleted
public boolean isDeleted()
Description copied from interface:Name
Checks if this name points to a cell that no longer exists
-
setSheetIndex
public void setSheetIndex(int index)
Tell Excel that this name applies to the worksheet with the specified index instead of the entire workbook.- Specified by:
setSheetIndex
in interfaceName
- Parameters:
index
- the sheet index this name applies to, -1 unsets this property making the name workbook-global
-
getSheetIndex
public int getSheetIndex()
Returns the sheet index this name applies to.- Specified by:
getSheetIndex
in interfaceName
- Returns:
- the sheet index this name applies to, -1 if this name applies to the entire workbook
-
setFunction
public void setFunction(boolean value)
Indicates that the defined name refers to a user-defined function. This attribute is used when there is an add-in or other code project associated with the file.- Specified by:
setFunction
in interfaceName
- Parameters:
value
-true
indicates the name refers to a function.
-
getFunction
public boolean getFunction()
Indicates that the defined name refers to a user-defined function. This attribute is used when there is an add-in or other code project associated with the file.- Returns:
true
indicates the name refers to a function.
-
setFunctionGroupId
public void setFunctionGroupId(int functionGroupId)
Specifies the function group index if the defined name refers to a function. The function group defines the general category for the function. This attribute is used when there is an add-in or other code project associated with the file.- Parameters:
functionGroupId
- the function group index that defines the general category for the function
-
getFunctionGroupId
public int getFunctionGroupId()
Returns the function group index if the defined name refers to a function. The function group defines the general category for the function. This attribute is used when there is an add-in or other code project associated with the file.- Returns:
- the function group index that defines the general category for the function
-
getSheetName
public java.lang.String getSheetName()
Get the sheets name which this named range is referenced to- Specified by:
getSheetName
in interfaceName
- Returns:
- sheet name, which this named range referred to. Empty string if the referenced sheet name was not found.
-
isFunctionName
public boolean isFunctionName()
Is the name refers to a user-defined function ?- Specified by:
isFunctionName
in interfaceName
- Returns:
true
if this name refers to a user-defined function
-
isHidden
public boolean isHidden()
Checks if this name is hidden, eg one of the built-in Excel internal names
-
getComment
public java.lang.String getComment()
Returns the comment the user provided when the name was created.- Specified by:
getComment
in interfaceName
- Returns:
- the user comment for this named range
-
setComment
public void setComment(java.lang.String comment)
Specifies the comment the user provided when the name was created.- Specified by:
setComment
in interfaceName
- Parameters:
comment
- the user comment for this named range
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
Compares this name to the specified object. The result istrue
if the argument is XSSFName and the underlying CTDefinedName bean equals to the CTDefinedName representing this name- Overrides:
equals
in classjava.lang.Object
- Parameters:
o
- the object to compare thisXSSFName
against.- Returns:
true
if theXSSFName
are equal;false
otherwise.
-
-