Package org.apache.poi.xssf.usermodel
Class XSSFRow
- java.lang.Object
-
- org.apache.poi.xssf.usermodel.XSSFRow
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.poi.ss.usermodel.Row
Row.MissingCellPolicy
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator<Cell>
cellIterator()
Cell iterator over the physically defined cells:int
compareTo(XSSFRow other)
Compares twoXSSFRow
objects.void
copyRowFrom(Row srcRow, CellCopyPolicy policy)
Copy the cells from srcRow to this row If this row is not a blank row, this will merge the two rows, overwriting the cells in this row with the cells in srcRow If srcRow is null, overwrite cells in destination row with blank values, styles, etc per cell copy policy srcRow may be from a different sheet in the same workbookXSSFCell
createCell(int columnIndex)
Use this to create new cells within the row and return it.XSSFCell
createCell(int columnIndex, CellType type)
Use this to create new cells within the row and return it.boolean
equals(java.lang.Object obj)
XSSFCell
getCell(int cellnum)
Returns the cell at the given (0 based) index, with theRow.MissingCellPolicy
from the parent Workbook.XSSFCell
getCell(int cellnum, Row.MissingCellPolicy policy)
Returns the cell at the given (0 based) index, with the specifiedRow.MissingCellPolicy
CTRow
getCTRow()
Returns the underlying CTRow xml bean containing all cell definitions in this rowshort
getFirstCellNum()
Get the 0-based number of the first cell contained in this row.short
getHeight()
Get the row's height measured in twips (1/20th of a point).float
getHeightInPoints()
Returns row height measured in point size.short
getLastCellNum()
Gets the index of the last cell contained in this row PLUS ONE.int
getOutlineLevel()
Returns the rows outline level.int
getPhysicalNumberOfCells()
Gets the number of defined cells (NOT number of cells in the actual row!).int
getRowNum()
Get row number this row representsXSSFCellStyle
getRowStyle()
Returns the whole-row cell style.XSSFSheet
getSheet()
Returns the XSSFSheet this row belongs toboolean
getZeroHeight()
Get whether or not to display this row with 0 heightint
hashCode()
boolean
isFormatted()
Is this row formatted? Most aren't, but some rows do have whole-row styles.java.util.Iterator<Cell>
iterator()
Alias forcellIterator()
to allow foreach loops:void
removeCell(Cell cell)
Remove the Cell from this row.void
setHeight(short height)
Set the height in "twips" or 1/20th of a point.void
setHeightInPoints(float height)
Set the row's height in points.void
setRowNum(int rowIndex)
Set the row number of this row.void
setRowStyle(CellStyle style)
Applies a whole-row cell styling to the row.void
setZeroHeight(boolean height)
Set whether or not to display this row with 0 heightvoid
shiftCellsLeft(int firstShiftColumnIndex, int lastShiftColumnIndex, int step)
Shifts column range [firstShiftColumnIndex-lastShiftColumnIndex] step places to the left.void
shiftCellsRight(int firstShiftColumnIndex, int lastShiftColumnIndex, int step)
Shifts column range [firstShiftColumnIndex-lastShiftColumnIndex] step places to the right.java.lang.String
toString()
-
-
-
Method Detail
-
getSheet
public XSSFSheet getSheet()
Returns the XSSFSheet this row belongs to
-
cellIterator
public java.util.Iterator<Cell> cellIterator()
Cell iterator over the physically defined cells:for (Iterator
it = row.cellIterator(); it.hasNext(); ) { Cell cell = it.next(); ... } | - Specified by:
cellIterator
in interfaceRow
- Returns:
- an iterator over cells in this row.
-
iterator
public java.util.Iterator<Cell> iterator()
Alias forcellIterator()
to allow foreach loops:for(Cell cell : row){ ... }
- Specified by:
iterator
in interfacejava.lang.Iterable<Cell>
- Returns:
- an iterator over cells in this row.
-
compareTo
public int compareTo(XSSFRow other)
Compares twoXSSFRow
objects. Two rows are equal if they belong to the same worksheet and their row indexes are equal.- Specified by:
compareTo
in interfacejava.lang.Comparable<XSSFRow>
- Parameters:
other
- theXSSFRow
to be compared.- Returns:
-
the value
0
if the row number of thisXSSFRow
is equal to the row number of the argumentXSSFRow
-
a value less than
0
if the row number of this thisXSSFRow
is numerically less than the row number of the argumentXSSFRow
-
a value greater than
0
if the row number of this thisXSSFRow
is numerically greater than the row number of the argumentXSSFRow
-
the value
- Throws:
java.lang.IllegalArgumentException
- if the argument row belongs to a different worksheet
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
createCell
public XSSFCell createCell(int columnIndex)
Use this to create new cells within the row and return it.The cell that is returned is a
CellType.BLANK
. The type can be changed either through callingsetCellValue
orsetCellType
.- Specified by:
createCell
in interfaceRow
- Parameters:
columnIndex
- - the column number this cell represents- Returns:
- Cell a high level representation of the created cell.
- Throws:
java.lang.IllegalArgumentException
- if columnIndex < 0 or greater than 16384, the maximum number of columns supported by the SpreadsheetML format (.xlsx)
-
createCell
public XSSFCell createCell(int columnIndex, CellType type)
Use this to create new cells within the row and return it.- Specified by:
createCell
in interfaceRow
- Parameters:
columnIndex
- - the column number this cell representstype
- - the cell's data type- Returns:
- XSSFCell a high level representation of the created cell.
- Throws:
java.lang.IllegalArgumentException
- if the specified cell type is invalid, columnIndex < 0 or greater than 16384, the maximum number of columns supported by the SpreadsheetML format (.xlsx)
-
getCell
public XSSFCell getCell(int cellnum)
Returns the cell at the given (0 based) index, with theRow.MissingCellPolicy
from the parent Workbook.- Specified by:
getCell
in interfaceRow
- Parameters:
cellnum
- 0 based column number- Returns:
- the cell at the given (0 based) index
- See Also:
Row.getCell(int, org.apache.poi.ss.usermodel.Row.MissingCellPolicy)
-
getCell
public XSSFCell getCell(int cellnum, Row.MissingCellPolicy policy)
Returns the cell at the given (0 based) index, with the specifiedRow.MissingCellPolicy
-
getFirstCellNum
public short getFirstCellNum()
Get the 0-based number of the first cell contained in this row.- Specified by:
getFirstCellNum
in interfaceRow
- Returns:
- short representing the first logical cell in the row, or -1 if the row does not contain any cells.
-
getLastCellNum
public short getLastCellNum()
Gets the index of the last cell contained in this row PLUS ONE. The result also happens to be the 1-based column number of the last cell. This value can be used as a standard upper bound when iterating over cells:short minColIx = row.getFirstCellNum(); short maxColIx = row.getLastCellNum(); for(short colIx=minColIx; colIx<maxColIx; colIx++) { XSSFCell cell = row.getCell(colIx); if(cell == null) { continue; } //... do something with cell }
- Specified by:
getLastCellNum
in interfaceRow
- Returns:
- short representing the last logical cell in the row PLUS ONE, or -1 if the row does not contain any cells.
-
getHeight
public short getHeight()
Get the row's height measured in twips (1/20th of a point). If the height is not set, the default worksheet value is returned, SeeXSSFSheet.getDefaultRowHeightInPoints()
-
getHeightInPoints
public float getHeightInPoints()
Returns row height measured in point size. If the height is not set, the default worksheet value is returned, SeeXSSFSheet.getDefaultRowHeightInPoints()
- Specified by:
getHeightInPoints
in interfaceRow
- Returns:
- row height measured in point size
- See Also:
XSSFSheet.getDefaultRowHeightInPoints()
-
setHeight
public void setHeight(short height)
Set the height in "twips" or 1/20th of a point.
-
setHeightInPoints
public void setHeightInPoints(float height)
Set the row's height in points.- Specified by:
setHeightInPoints
in interfaceRow
- Parameters:
height
- the height in points.-1
resets to the default height
-
getPhysicalNumberOfCells
public int getPhysicalNumberOfCells()
Gets the number of defined cells (NOT number of cells in the actual row!). That is to say if only columns 0,4,5 have values then there would be 3.- Specified by:
getPhysicalNumberOfCells
in interfaceRow
- Returns:
- int representing the number of defined cells in the row.
-
getRowNum
public int getRowNum()
Get row number this row represents
-
setRowNum
public void setRowNum(int rowIndex)
Set the row number of this row.
-
getZeroHeight
public boolean getZeroHeight()
Get whether or not to display this row with 0 height- Specified by:
getZeroHeight
in interfaceRow
- Returns:
- - height is zero or not.
-
setZeroHeight
public void setZeroHeight(boolean height)
Set whether or not to display this row with 0 height- Specified by:
setZeroHeight
in interfaceRow
- Parameters:
height
- height is zero or not.
-
isFormatted
public boolean isFormatted()
Is this row formatted? Most aren't, but some rows do have whole-row styles. For those that do, you can get the formatting fromgetRowStyle()
- Specified by:
isFormatted
in interfaceRow
-
getRowStyle
public XSSFCellStyle getRowStyle()
Returns the whole-row cell style. Most rows won't have one of these, so will return null. CallisFormatted()
to check first.- Specified by:
getRowStyle
in interfaceRow
-
setRowStyle
public void setRowStyle(CellStyle style)
Applies a whole-row cell styling to the row. If the value is null then the style information is removed, causing the cell to used the default workbook style.- Specified by:
setRowStyle
in interfaceRow
-
removeCell
public void removeCell(Cell cell)
Remove the Cell from this row.- Specified by:
removeCell
in interfaceRow
- Parameters:
cell
- the cell to remove
-
getCTRow
@Internal public CTRow getCTRow()
Returns the underlying CTRow xml bean containing all cell definitions in this row- Returns:
- the underlying CTRow xml bean
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
- Returns:
- formatted xml representation of this row
-
copyRowFrom
@Beta public void copyRowFrom(Row srcRow, CellCopyPolicy policy)
Copy the cells from srcRow to this row If this row is not a blank row, this will merge the two rows, overwriting the cells in this row with the cells in srcRow If srcRow is null, overwrite cells in destination row with blank values, styles, etc per cell copy policy srcRow may be from a different sheet in the same workbook- Parameters:
srcRow
- the rows to copy frompolicy
- the policy to determine what gets copied
-
getOutlineLevel
public int getOutlineLevel()
Description copied from interface:Row
Returns the rows outline level. Increased as you put it into more groups (outlines), reduced as you take it out of them.- Specified by:
getOutlineLevel
in interfaceRow
-
shiftCellsRight
public void shiftCellsRight(int firstShiftColumnIndex, int lastShiftColumnIndex, int step)
Shifts column range [firstShiftColumnIndex-lastShiftColumnIndex] step places to the right.- Specified by:
shiftCellsRight
in interfaceRow
- Parameters:
firstShiftColumnIndex
- the column to start shiftinglastShiftColumnIndex
- the column to end shiftingstep
- length of the shifting step
-
shiftCellsLeft
public void shiftCellsLeft(int firstShiftColumnIndex, int lastShiftColumnIndex, int step)
Shifts column range [firstShiftColumnIndex-lastShiftColumnIndex] step places to the left.- Specified by:
shiftCellsLeft
in interfaceRow
- Parameters:
firstShiftColumnIndex
- the column to start shiftinglastShiftColumnIndex
- the column to end shiftingstep
- length of the shifting step
-
-