Package org.apache.poi.xssf.streaming
Class SXSSFRow
- java.lang.Object
-
- org.apache.poi.xssf.streaming.SXSSFRow
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SXSSFRow.CellIterator
returns all cells including empty cells (null
values are returned for empty cells).class
SXSSFRow.FilledCellIterator
Create an iterator over the cells from [0, getLastCellNum()).-
Nested classes/interfaces inherited from interface org.apache.poi.ss.usermodel.Row
Row.MissingCellPolicy
-
-
Constructor Summary
Constructors Constructor Description SXSSFRow(SXSSFSheet sheet)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator<Cell>
allCellsIterator()
java.util.Iterator<Cell>
cellIterator()
int
compareTo(SXSSFRow other)
Compares twoSXSSFRow
objects.SXSSFCell
createCell(int column)
Use this to create new cells within the row and return it.SXSSFCell
createCell(int column, CellType type)
Use this to create new cells within the row and return it.boolean
equals(java.lang.Object obj)
SXSSFCell
getCell(int cellnum)
Get the cell representing a given column (logical cell) 0-based.SXSSFCell
getCell(int cellnum, Row.MissingCellPolicy policy)
Returns the cell at the given (0 based) index, with the specifiedRow.MissingCellPolicy
java.lang.Boolean
getCollapsed()
short
getFirstCellNum()
Get the 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.java.lang.Boolean
getHidden()
get row hidden state: Hidden (true), Unhidden (false), Undefined (null)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 representsCellStyle
getRowStyle()
Returns the whole-row cell style.SXSSFSheet
getSheet()
Returns the Sheet this row belongs toboolean
getZeroHeight()
Get whether or not to display this row with 0 heightboolean
hasCustomHeight()
int
hashCode()
boolean
isFormatted()
Is this row formatted? Most aren't, but some rows do have whole-row styles.java.util.Iterator<Cell>
iterator()
void
removeCell(Cell cell)
Remove the Cell from this row.void
setCollapsed(java.lang.Boolean collapsed)
void
setHeight(short height)
Set the row's height or set to ff (-1) for undefined/default-height.void
setHeightInPoints(float height)
Set the row's height in points.void
setHidden(java.lang.Boolean hidden)
set row hidden state: Hidden (true), Unhidden (false), Undefined (null)void
setRowNum(int rowNum)
Set the row number of this row.void
setRowStyle(CellStyle style)
Applies a whole-row cell styling to the row.void
setZeroHeight(boolean zHeight)
Set whether or not to display this row with 0 heightvoid
shiftCellsLeft(int firstShiftColumnIndex, int lastShiftColumnIndex, int step)
void
shiftCellsRight(int firstShiftColumnIndex, int lastShiftColumnIndex, int step)
-
-
-
Constructor Detail
-
SXSSFRow
public SXSSFRow(SXSSFSheet sheet)
-
-
Method Detail
-
allCellsIterator
public java.util.Iterator<Cell> allCellsIterator()
-
hasCustomHeight
public boolean hasCustomHeight()
-
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
-
getHidden
public java.lang.Boolean getHidden()
get row hidden state: Hidden (true), Unhidden (false), Undefined (null)- Returns:
- row hidden state
-
setHidden
public void setHidden(java.lang.Boolean hidden)
set row hidden state: Hidden (true), Unhidden (false), Undefined (null)- Parameters:
hidden
- row hidden state
-
getCollapsed
public java.lang.Boolean getCollapsed()
-
setCollapsed
public void setCollapsed(java.lang.Boolean collapsed)
-
iterator
public java.util.Iterator<Cell> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<Cell>
-
createCell
public SXSSFCell createCell(int column)
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:
column
- - 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 the maximum number of supported columns (255 for *.xls, 1048576 for *.xlsx)
-
createCell
public SXSSFCell createCell(int column, CellType type)
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 calling setCellValue or setCellType.- Specified by:
createCell
in interfaceRow
- Parameters:
column
- - the column number this cell representstype
- - the cell's data type- Returns:
- Cell a high level representation of the created cell.
- Throws:
java.lang.IllegalArgumentException
- if columnIndex < 0 or greater than a maximum number of supported columns (255 for *.xls, 1048576 for *.xlsx)
-
removeCell
public void removeCell(Cell cell)
Remove the Cell from this row.- Specified by:
removeCell
in interfaceRow
- Parameters:
cell
- the cell to remove
-
setRowNum
public void setRowNum(int rowNum)
Set the row number of this row.
-
getRowNum
public int getRowNum()
Get row number this row represents
-
getCell
public SXSSFCell getCell(int cellnum)
Get the cell representing a given column (logical cell) 0-based. If cell is missing or blank, uses the workbook's MissingCellPolicy to determine the return value.- Specified by:
getCell
in interfaceRow
- Parameters:
cellnum
- 0 based column number- Returns:
- Cell representing that column or null if undefined.
- Throws:
java.lang.RuntimeException
- if cellnum is out of bounds- See Also:
getCell(int, org.apache.poi.ss.usermodel.Row.MissingCellPolicy)
-
getCell
public SXSSFCell 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 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++) { Cell 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.
-
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.
-
setHeight
public void setHeight(short height)
Set the row's height or set to ff (-1) for undefined/default-height. Set the height in "twips" or 1/20th of a point.
-
setZeroHeight
public void setZeroHeight(boolean zHeight)
Set whether or not to display this row with 0 height- Specified by:
setZeroHeight
in interfaceRow
- Parameters:
zHeight
- height is zero or not.
-
getZeroHeight
public boolean getZeroHeight()
Get whether or not to display this row with 0 height- Specified by:
getZeroHeight
in interfaceRow
- Returns:
- - zHeight height is zero or not.
-
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
-
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, SeeSheet.getDefaultRowHeightInPoints()
-
getHeightInPoints
public float getHeightInPoints()
Returns row height measured in point size. If the height is not set, the default worksheet value is returned, SeeSheet.getDefaultRowHeightInPoints()
- Specified by:
getHeightInPoints
in interfaceRow
- Returns:
- row height measured in point size
- See Also:
Sheet.getDefaultRowHeightInPoints()
-
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 CellStyle 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. The row style can be cleared by passing innull
.- Specified by:
setRowStyle
in interfaceRow
-
cellIterator
public java.util.Iterator<Cell> cellIterator()
- Specified by:
cellIterator
in interfaceRow
- Returns:
- Cell iterator of the physically defined cells. Note element 4 may actually be row cell depending on how many are defined!
-
getSheet
public SXSSFSheet getSheet()
Returns the Sheet this row belongs to
-
compareTo
public int compareTo(SXSSFRow other)
Compares twoSXSSFRow
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<SXSSFRow>
- Parameters:
other
- theSXSSFRow
to be compared.- Returns:
-
the value
0
if the row number of thisSXSSFRow
is equal to the row number of the argumentSXSSFRow
-
a value less than
0
if the row number of this thisSXSSFRow
is numerically less than the row number of the argumentSXSSFRow
-
a value greater than
0
if the row number of this thisSXSSFRow
is numerically greater than the row number of the argumentSXSSFRow
-
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
-
shiftCellsRight
@NotImplemented public void shiftCellsRight(int firstShiftColumnIndex, int lastShiftColumnIndex, int step)
- Specified by:
shiftCellsRight
in interfaceRow
-
shiftCellsLeft
@NotImplemented public void shiftCellsLeft(int firstShiftColumnIndex, int lastShiftColumnIndex, int step)
- Specified by:
shiftCellsLeft
in interfaceRow
-
-