public final class XSSFName extends java.lang.Object implements Name
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");
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
BUILTIN_CONSOLIDATE_AREA
A built-in defined name that refers to a consolidation area
|
static 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
|
static java.lang.String |
BUILTIN_DATABASE
A built-in defined name that specified that the range specified is from a database data source
|
static 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
|
static java.lang.String |
BUILTIN_FILTER_DB
?an 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 area
|
static 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.
|
Modifier | Constructor and Description |
---|---|
protected |
XSSFName(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName name,
XSSFWorkbook workbook)
Creates an XSSFName object - called internally by XSSFWorkbook.
|
Modifier and Type | Method and 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.
|
protected org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName |
getCTName()
Returns the underlying named range object
|
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 to
|
int |
hashCode() |
boolean |
isDeleted()
Checks if this name points to a cell that no longer exists
|
boolean |
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 names
|
void |
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.
|
public static final java.lang.String BUILTIN_PRINT_AREA
public static final java.lang.String BUILTIN_PRINT_TITLE
public static final java.lang.String BUILTIN_CRITERIA
public static final java.lang.String BUILTIN_EXTRACT
public static final java.lang.String BUILTIN_FILTER_DB
public static final java.lang.String BUILTIN_CONSOLIDATE_AREA
public static final java.lang.String BUILTIN_DATABASE
public static final java.lang.String BUILTIN_SHEET_TITLE
protected XSSFName(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName name, XSSFWorkbook workbook)
name
- - the xml bean that holds data represenring this defined name.workbook
- - the workbook object associated with the nameXSSFWorkbook.createName()
protected org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName getCTName()
public java.lang.String getNameName()
getNameName
in interface Name
public void setNameName(java.lang.String name)
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)"
setNameName
in interface Name
name
- name of this defined namejava.lang.IllegalArgumentException
- if the name is invalid or the workbook already contains this name (case-insensitive)public java.lang.String getRefersToFormula()
Name
getRefersToFormula
in interface Name
null
if it has not been set yet. Never empty stringName.setRefersToFormula(String)
public void setRefersToFormula(java.lang.String formulaText)
Name
'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)
setRefersToFormula
in interface Name
formulaText
- the reference for this namepublic boolean isDeleted()
Name
public void setSheetIndex(int index)
setSheetIndex
in interface Name
index
- the sheet index this name applies to, -1 unsets this property making the name workbook-globalpublic int getSheetIndex()
getSheetIndex
in interface Name
public void setFunction(boolean value)
setFunction
in interface Name
value
- true
indicates the name refers to a function.public boolean getFunction()
true
indicates the name refers to a function.public void setFunctionGroupId(int functionGroupId)
functionGroupId
- the function group index that defines the general category for the functionpublic int getFunctionGroupId()
public java.lang.String getSheetName()
getSheetName
in interface Name
public boolean isFunctionName()
isFunctionName
in interface Name
true
if this name refers to a user-defined functionpublic boolean isHidden()
public java.lang.String getComment()
getComment
in interface Name
public void setComment(java.lang.String comment)
setComment
in interface Name
comment
- the user comment for this named rangepublic int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
true
if the argument is XSSFName and the
underlying CTDefinedName bean equals to the CTDefinedName representing this nameequals
in class java.lang.Object
o
- the object to compare this XSSFName
against.true
if the XSSFName
are equal;
false
otherwise.Copyright 2021 The Apache Software Foundation or its licensors, as applicable.