|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.poi.xssf.usermodel.XSSFCell
public final class XSSFCell
High level representation of a cell in a row of a spreadsheet.
Cells can be numeric, formula-based or string-based (text). The cell type specifies this. String cells cannot conatin numbers and numeric cells cannot contain strings (at least according to our model). Client apps should do the conversions themselves. Formula cells have the formula string, as well as the formula result, which can be numeric or string.
Cells should have their number (0 based) before being added to a row. Only cells that have values should be added.
| Field Summary |
|---|
| Fields inherited from interface org.apache.poi.ss.usermodel.Cell |
|---|
CELL_TYPE_BLANK, CELL_TYPE_BOOLEAN, CELL_TYPE_ERROR, CELL_TYPE_FORMULA, CELL_TYPE_NUMERIC, CELL_TYPE_STRING |
| Constructor Summary | |
|---|---|
protected |
XSSFCell(XSSFRow row,
org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell cell)
Construct a XSSFCell. |
| Method Summary | |
|---|---|
CellRangeAddress |
getArrayFormulaRange()
Only valid for array formula cells |
boolean |
getBooleanCellValue()
Get the value of the cell as a boolean. |
int |
getCachedFormulaResultType()
Only valid for formula cells |
XSSFComment |
getCellComment()
Returns cell comment associated with this cell |
java.lang.String |
getCellFormula()
Return a formula for the cell, for example, SUM(C4:E4) |
XSSFCellStyle |
getCellStyle()
Return the cell's style. |
int |
getCellType()
Return the cell type. |
int |
getColumnIndex()
Returns column index of this cell |
org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell |
getCTCell()
Returns the xml bean containing information about the cell's location (reference), value, data type, formatting, and formula |
java.util.Date |
getDateCellValue()
Get the value of the cell as a date. |
java.lang.String |
getErrorCellString()
Returns the error message, such as #VALUE! |
byte |
getErrorCellValue()
Get the value of the cell as an error code. |
XSSFHyperlink |
getHyperlink()
Returns hyperlink associated with this cell |
double |
getNumericCellValue()
Get the value of the cell as a number. |
java.lang.String |
getRawValue()
Returns the raw, underlying ooxml value for the cell |
java.lang.String |
getReference()
Returns an A1 style reference to the location of this cell |
XSSFRichTextString |
getRichStringCellValue()
Get the value of the cell as a XSSFRichTextString |
XSSFRow |
getRow()
Returns the row this cell belongs to |
int |
getRowIndex()
Returns row index of a row in the sheet that contains this cell |
protected SharedStringsTable |
getSharedStringSource()
|
XSSFSheet |
getSheet()
Returns the sheet this cell belongs to |
java.lang.String |
getStringCellValue()
Get the value of the cell as a string |
protected StylesTable |
getStylesSource()
|
boolean |
isPartOfArrayFormulaGroup()
|
void |
removeCellComment()
Removes the comment for this cell, if there is one. |
void |
setAsActiveCell()
Sets this cell as the active cell for the worksheet. |
void |
setCellComment(Comment comment)
Assign a comment to this cell. |
void |
setCellErrorValue(byte errorCode)
Set a error value for the cell |
void |
setCellErrorValue(FormulaError error)
Set a error value for the cell |
void |
setCellFormula(java.lang.String formula)
Sets formula for this cell. |
protected void |
setCellNum(int num)
Sets column index of this cell |
void |
setCellStyle(CellStyle style)
Set the style for the cell. |
void |
setCellType(int cellType)
Set the cells type (numeric, formula or string) |
void |
setCellValue(boolean value)
Set a boolean value for the cell |
void |
setCellValue(java.util.Calendar value)
Set a date value for the cell. |
void |
setCellValue(java.util.Date value)
Set a date value for the cell. |
void |
setCellValue(double value)
Set a numeric value for the cell |
void |
setCellValue(RichTextString str)
Set a string value for the cell. |
void |
setCellValue(java.lang.String str)
Set a string value for the cell. |
void |
setHyperlink(Hyperlink hyperlink)
Assign a hypelrink to this cell |
java.lang.String |
toString()
Returns a string representation of the cell |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
protected XSSFCell(XSSFRow row,
org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell cell)
row - the parent row.cell - the xml bean containing information about the cell.| Method Detail |
|---|
protected SharedStringsTable getSharedStringSource()
protected StylesTable getStylesSource()
public XSSFSheet getSheet()
getSheet in interface Cellpublic XSSFRow getRow()
getRow in interface Cellpublic boolean getBooleanCellValue()
For strings, numbers, and errors, we throw an exception. For blank cells we return a false.
getBooleanCellValue in interface Celljava.lang.IllegalStateException - if the cell type returned by getCellType()
is not CELL_TYPE_BOOLEAN, CELL_TYPE_BLANK or CELL_TYPE_FORMULApublic void setCellValue(boolean value)
setCellValue in interface Cellvalue - the boolean value to set this cell to. For formulas we'll set the
precalculated value, for booleans we'll set its value. For other types we
will change the cell to a boolean cell and set its value.public double getNumericCellValue()
For strings we throw an exception. For blank cells we return a 0. For formulas or error cells we return the precalculated value;
getNumericCellValue in interface Celljava.lang.IllegalStateException - if the cell type returned by getCellType() is CELL_TYPE_STRING
java.lang.NumberFormatException - if the cell value isn't a parsable double.for turning this number into a string similar to that which Excel would render this number as.public void setCellValue(double value)
setCellValue in interface Cellvalue - the numeric value to set this cell to. For formulas we'll set the
precalculated value, for numerics we'll set its value. For other types we
will change the cell to a numeric cell and set its value.public java.lang.String getStringCellValue()
For numeric cells we throw an exception. For blank cells we return an empty string. For formulaCells that are not string Formulas, we throw an exception
getStringCellValue in interface Cellpublic XSSFRichTextString getRichStringCellValue()
For numeric cells we throw an exception. For blank cells we return an empty string. For formula cells we return the pre-calculated value if a string, otherwise an exception
getRichStringCellValue in interface Cellpublic void setCellValue(java.lang.String str)
setCellValue in interface Cellstr - value to set the cell to. For formulas we'll set the formula
cached string result, for String cells we'll set its value. For other types we will
change the cell to a string cell and set its value.
If value is null then we will change the cell to a Blank cell.public void setCellValue(RichTextString str)
setCellValue in interface Cellstr - value to set the cell to. For formulas we'll set the 'pre-evaluated result string,
for String cells we'll set its value. For other types we will
change the cell to a string cell and set its value.
If value is null then we will change the cell to a Blank cell.public java.lang.String getCellFormula()
SUM(C4:E4)
getCellFormula in interface Celljava.lang.IllegalStateException - if the cell type returned by getCellType() is not CELL_TYPE_FORMULApublic void setCellFormula(java.lang.String formula)
Note, this method only sets the formula string and does not calculate the formula value.
To set the precalculated value use setCellValue(double) or setCellValue(String)
setCellFormula in interface Cellformula - the formula to set, e.g. "SUM(C4:E4)".
If the argument is null then the current formula is removed.
FormulaParseException - if the formula has incorrect syntax or is otherwise invalid
java.lang.IllegalStateException - if the operation is not allowed, for example,
when the cell is a part of a multi-cell array formulapublic int getColumnIndex()
getColumnIndex in interface Cellpublic int getRowIndex()
getRowIndex in interface Cellpublic java.lang.String getReference()
public XSSFCellStyle getCellStyle()
getCellStyle in interface CellWorkbook.getCellStyleAt(short)public void setCellStyle(CellStyle style)
setCellStyle in interface Cellstyle - reference contained in the workbook.
If the value is null then the style information is removed causing the cell to used the default workbook style.Workbook.createCellStyle()public int getCellType()
getCellType in interface CellCell.CELL_TYPE_BLANK,
Cell.CELL_TYPE_NUMERIC,
Cell.CELL_TYPE_STRING,
Cell.CELL_TYPE_FORMULA,
Cell.CELL_TYPE_BOOLEAN,
Cell.CELL_TYPE_ERRORpublic int getCachedFormulaResultType()
getCachedFormulaResultType in interface CellCell.CELL_TYPE_NUMERIC, Cell.CELL_TYPE_STRING,
Cell.CELL_TYPE_BOOLEAN, Cell.CELL_TYPE_ERROR) depending
on the cached value of the formulapublic java.util.Date getDateCellValue()
For strings we throw an exception. For blank cells we return a null.
getDateCellValue in interface Celljava.lang.IllegalStateException - if the cell type returned by getCellType() is CELL_TYPE_STRING
java.lang.NumberFormatException - if the cell value isn't a parsable double.for formatting this date into a string similar to how excel does.public void setCellValue(java.util.Date value)
setCellValue in interface Cellvalue - the date value to set this cell to. For formulas we'll set the
precalculated value, for numerics we'll set its value. For other types we
will change the cell to a numeric cell and set its value.public void setCellValue(java.util.Calendar value)
This will set the cell value based on the Calendar's timezone. As Excel
does not support timezones this means that both 20:00+03:00 and
20:00-03:00 will be reported as the same value (20:00) even that there
are 6 hours difference between the two times. This difference can be
preserved by using setCellValue(value.getTime()) which will
automatically shift the times to the default timezone.
setCellValue in interface Cellvalue - the date value to set this cell to. For formulas we'll set the
precalculated value, for numerics we'll set its value. For othertypes we
will change the cell to a numeric cell and set its value.public java.lang.String getErrorCellString()
java.lang.IllegalStateException - if the cell type returned by getCellType() isn't CELL_TYPE_ERRORFormulaErrorpublic byte getErrorCellValue()
For strings, numbers, and booleans, we throw an exception. For blank cells we return a 0.
getErrorCellValue in interface Celljava.lang.IllegalStateException - if the cell type returned by getCellType() isn't CELL_TYPE_ERRORFormulaErrorpublic void setCellErrorValue(byte errorCode)
setCellErrorValue in interface CellerrorCode - the error value to set this cell to. For formulas we'll set the
precalculated value , for errors we'll set
its value. For other types we will change the cell to an error
cell and set its value.FormulaErrorpublic void setCellErrorValue(FormulaError error)
error - the error value to set this cell to. For formulas we'll set the
precalculated value , for errors we'll set
its value. For other types we will change the cell to an error
cell and set its value.public void setAsActiveCell()
setAsActiveCell in interface Cellprotected void setCellNum(int num)
num - column index of this cellpublic void setCellType(int cellType)
setCellType in interface Celljava.lang.IllegalArgumentException - if the specified cell type is invalidCell.CELL_TYPE_NUMERIC,
Cell.CELL_TYPE_STRING,
Cell.CELL_TYPE_FORMULA,
Cell.CELL_TYPE_BLANK,
Cell.CELL_TYPE_BOOLEAN,
Cell.CELL_TYPE_ERRORpublic java.lang.String toString()
Formula cells return the formula string, rather than the formula result. Dates are displayed in dd-MMM-yyyy format Errors are displayed as #ERR<errIdx>
toString in class java.lang.Objectpublic java.lang.String getRawValue()
If the cell contains a string, then this value is an index into the shared string table, pointing to the actual string value. Otherwise, the value of the cell is expressed directly in this element. Cells containing formulas express the last calculated result of the formula in this element.
null for blank cells.public XSSFComment getCellComment()
getCellComment in interface Cellnullpublic void setCellComment(Comment comment)
setCellComment in interface Cellcomment - the XSSFComment associated with this cellpublic void removeCellComment()
removeCellComment in interface Cellpublic XSSFHyperlink getHyperlink()
getHyperlink in interface Cellnull if not foundpublic void setHyperlink(Hyperlink hyperlink)
setHyperlink in interface Cellhyperlink - the hypelrink to associate with this cell@Internal public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell getCTCell()
public CellRangeAddress getArrayFormulaRange()
Cell
getArrayFormulaRange in interface Cellpublic boolean isPartOfArrayFormulaGroup()
isPartOfArrayFormulaGroup in interface Celltrue if this cell is part of group of cells having a common array formula.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||