org.apache.poi.xssf.usermodel
Class XSSFRow

java.lang.Object
  extended by org.apache.poi.xssf.usermodel.XSSFRow
All Implemented Interfaces:
java.lang.Comparable, org.apache.poi.ss.usermodel.Row, poi.support.Iterable

public class XSSFRow
extends java.lang.Object
implements org.apache.poi.ss.usermodel.Row, java.lang.Comparable

High level representation of a row of a spreadsheet.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.poi.ss.usermodel.Row
org.apache.poi.ss.usermodel.Row.MissingCellPolicy
 
Field Summary
 
Fields inherited from interface org.apache.poi.ss.usermodel.Row
CREATE_NULL_AS_BLANK, RETURN_BLANK_AS_NULL, RETURN_NULL_AND_BLANK
 
Method Summary
 java.util.Iterator cellIterator()
          Cell iterator over the physically defined cells:
 int compareTo(java.lang.Object in_row)
          Compares two XSSFRow objects.
 org.apache.poi.ss.usermodel.Cell createCell(int columnIndex)
          Use this to create new cells within the row and return it.
 org.apache.poi.ss.usermodel.Cell createCell(int columnIndex, int type)
          Use this to create new cells within the row and return it.
 org.apache.poi.ss.usermodel.Cell getCell(int cellnum)
          Returns the cell at the given (0 based) index, with the Row.MissingCellPolicy from the parent Workbook.
 org.apache.poi.ss.usermodel.Cell getCell(int cellnum, org.apache.poi.ss.usermodel.Row.MissingCellPolicy policy)
          Returns the cell at the given (0 based) index, with the specified Row.MissingCellPolicy
 org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow getCTRow()
          Returns the underlying CTRow xml bean containing all cell definitions in this row
 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.
 short getLastCellNum()
          Gets the index of the last cell contained in this row PLUS ONE.
 int getPhysicalNumberOfCells()
          Gets the number of defined cells (NOT number of cells in the actual row!).
 int getRowNum()
          Get row number this row represents
 org.apache.poi.ss.usermodel.CellStyle getRowStyle()
          Returns the whole-row cell style.
 org.apache.poi.ss.usermodel.Sheet getSheet()
          Returns the XSSFSheet this row belongs to
 boolean getZeroHeight()
          Get whether or not to display this row with 0 height
 boolean isFormatted()
          Is this row formatted? Most aren't, but some rows do have whole-row styles.
 java.util.Iterator iterator()
          Alias for cellIterator() to allow foreach loops:
 void removeCell(org.apache.poi.ss.usermodel.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(org.apache.poi.ss.usermodel.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 height
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getSheet

public org.apache.poi.ss.usermodel.Sheet getSheet()
Returns the XSSFSheet this row belongs to

Specified by:
getSheet in interface org.apache.poi.ss.usermodel.Row
Returns:
the XSSFSheet that owns this row

cellIterator

public java.util.Iterator cellIterator()
Cell iterator over the physically defined cells:
 for (Iterator it = row.cellIterator(); it.hasNext(); ) {
     Cell cell = it.next();
     ...
 }
 

Specified by:
cellIterator in interface org.apache.poi.ss.usermodel.Row
Returns:
an iterator over cells in this row.

iterator

public java.util.Iterator iterator()
Alias for cellIterator() to allow foreach loops:
 for(Cell cell : row){
     ...
 }
 

Specified by:
iterator in interface poi.support.Iterable
Returns:
an iterator over cells in this row.

compareTo

public int compareTo(java.lang.Object in_row)
Compares two XSSFRow objects. Two rows are equal if they belong to the same worksheet and their row indexes are equal.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
row - the XSSFRow to be compared.
Returns:
the value 0 if the row number of this XSSFRow is equal to the row number of the argument XSSFRow; a value less than 0 if the row number of this this XSSFRow is numerically less than the row number of the argument XSSFRow; and a value greater than 0 if the row number of this this XSSFRow is numerically greater than the row number of the argument XSSFRow.
Throws:
java.lang.IllegalArgumentException - if the argument row belongs to a different worksheet

createCell

public org.apache.poi.ss.usermodel.Cell createCell(int columnIndex)
Use this to create new cells within the row and return it.

The cell that is returned is a Cell.CELL_TYPE_BLANK. The type can be changed either through calling setCellValue or setCellType.

Specified by:
createCell in interface org.apache.poi.ss.usermodel.Row
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 org.apache.poi.ss.usermodel.Cell createCell(int columnIndex,
                                                   int type)
Use this to create new cells within the row and return it.

Specified by:
createCell in interface org.apache.poi.ss.usermodel.Row
Parameters:
columnIndex - - the column number this cell represents
type - - 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)
See Also:
Cell.CELL_TYPE_BLANK, Cell.CELL_TYPE_BOOLEAN, Cell.CELL_TYPE_ERROR, Cell.CELL_TYPE_FORMULA, Cell.CELL_TYPE_NUMERIC, Cell.CELL_TYPE_STRING

getCell

public org.apache.poi.ss.usermodel.Cell getCell(int cellnum)
Returns the cell at the given (0 based) index, with the Row.MissingCellPolicy from the parent Workbook.

Specified by:
getCell in interface org.apache.poi.ss.usermodel.Row
Returns:
the cell at the given (0 based) index

getCell

public org.apache.poi.ss.usermodel.Cell getCell(int cellnum,
                                                org.apache.poi.ss.usermodel.Row.MissingCellPolicy policy)
Returns the cell at the given (0 based) index, with the specified Row.MissingCellPolicy

Specified by:
getCell in interface org.apache.poi.ss.usermodel.Row
Returns:
the cell at the given (0 based) index
Throws:
java.lang.IllegalArgumentException - if cellnum < 0 or the specified MissingCellPolicy is invalid
See Also:
Row.RETURN_NULL_AND_BLANK, Row.RETURN_BLANK_AS_NULL, Row.CREATE_NULL_AS_BLANK

getFirstCellNum

public short getFirstCellNum()
Get the number of the first cell contained in this row.

Specified by:
getFirstCellNum in interface org.apache.poi.ss.usermodel.Row
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 interface org.apache.poi.ss.usermodel.Row
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, See XSSFSheet.getDefaultRowHeightInPoints()

Specified by:
getHeight in interface org.apache.poi.ss.usermodel.Row
Returns:
row height measured in twips (1/20th of a point)

getHeightInPoints

public float getHeightInPoints()
Returns row height measured in point size. If the height is not set, the default worksheet value is returned, See XSSFSheet.getDefaultRowHeightInPoints()

Specified by:
getHeightInPoints in interface org.apache.poi.ss.usermodel.Row
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.

Specified by:
setHeight in interface org.apache.poi.ss.usermodel.Row
Parameters:
height - the height in "twips" or 1/20th of a point. -1 resets to the default height

setHeightInPoints

public void setHeightInPoints(float height)
Set the row's height in points.

Specified by:
setHeightInPoints in interface org.apache.poi.ss.usermodel.Row
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 interface org.apache.poi.ss.usermodel.Row
Returns:
int representing the number of defined cells in the row.

getRowNum

public int getRowNum()
Get row number this row represents

Specified by:
getRowNum in interface org.apache.poi.ss.usermodel.Row
Returns:
the row number (0 based)

setRowNum

public void setRowNum(int rowIndex)
Set the row number of this row.

Specified by:
setRowNum in interface org.apache.poi.ss.usermodel.Row
Parameters:
rowIndex - the row number (0-based)
Throws:
java.lang.IllegalArgumentException - if rowNum < 0 or greater than 1048575

getZeroHeight

public boolean getZeroHeight()
Get whether or not to display this row with 0 height

Specified by:
getZeroHeight in interface org.apache.poi.ss.usermodel.Row
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 interface org.apache.poi.ss.usermodel.Row
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 from getRowStyle()

Specified by:
isFormatted in interface org.apache.poi.ss.usermodel.Row

getRowStyle

public org.apache.poi.ss.usermodel.CellStyle getRowStyle()
Returns the whole-row cell style. Most rows won't have one of these, so will return null. Call isFormatted() to check first.

Specified by:
getRowStyle in interface org.apache.poi.ss.usermodel.Row

setRowStyle

public void setRowStyle(org.apache.poi.ss.usermodel.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 interface org.apache.poi.ss.usermodel.Row

removeCell

public void removeCell(org.apache.poi.ss.usermodel.Cell cell)
Remove the Cell from this row.

Specified by:
removeCell in interface org.apache.poi.ss.usermodel.Row
Parameters:
cell - the cell to remove

getCTRow

public org.openxmlformats.schemas.spreadsheetml.x2006.main.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 class java.lang.Object
Returns:
formatted xml representation of this row