Package org.apache.poi.xssf.usermodel
Class XSSFName
java.lang.Object
org.apache.poi.xssf.usermodel.XSSFName
- All Implemented Interfaces:
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 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
FieldsModifier and TypeFieldDescriptionstatic final String
A built-in defined name that refers to a consolidation areastatic final String
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 final String
A built-in defined name that specified that the range specified is from a database data sourcestatic final String
this defined name refers to the range containing the filtered output values resulting from applying an advanced filter criteria to a source rangestatic final String
Can be one of the following this defined name refers to a range to which an advanced filter has been applied.static final String
A built-in defined name that specifies the workbook's print areastatic final String
A built-in defined name that specifies the row(s) or column(s) to repeat at the top of each printed page.static final String
A built-in defined name that refers to a sheet title. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Compares this name to the specified object.Returns the comment the user provided when the name was created.boolean
Indicates that the defined name refers to a user-defined function.int
Returns the function group index if the defined name refers to a function.Returns the name that will appear in the user interface for the defined name.Returns the formula that the name is defined to refer to.int
Returns the sheet index this name applies to.Get the sheets name which this named range is referenced toint
hashCode()
boolean
Checks if this name points to a cell that no longer existsboolean
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
(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
(String name) Sets the name that will appear in the user interface for the defined name.void
setRefersToFormula
(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 Details
-
BUILTIN_PRINT_AREA
A built-in defined name that specifies the workbook's print area- See Also:
-
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:
-
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:
-
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:
-
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:
-
BUILTIN_CONSOLIDATE_AREA
A built-in defined name that refers to a consolidation area- See Also:
-
BUILTIN_DATABASE
A built-in defined name that specified that the range specified is from a database data source- See Also:
-
BUILTIN_SHEET_TITLE
A built-in defined name that refers to a sheet title.- See Also:
-
-
Method Details
-
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
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:
IllegalArgumentException
- if the name is invalid or the workbook already contains this name (case-insensitive)
-
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:
-
setRefersToFormula
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
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
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
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() -
equals
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
-