## org.apache.poi.xssf.streaming
Class SXSSFRow

    java.lang.Object
      org.apache.poi.xssf.streaming.SXSSFRow

All Implemented Interfaces:
  java.lang.Iterable<Cell>, Row

    public class SXSSFRow

extends java.lang.Object
implements Row

Streaming version of XSSFRow implementing the "BigGridDemo" strategy.

Author:
  Alex Geller, Four J's Development Tools

Nested Class Summary
`class` `SXSSFRow.CellIterator` returns all cells including empty cells in which case "null" is returned
`class` `SXSSFRow.FilledCellIterator` returns all filled cells (created via Row.createCell())

Nested classes/interfaces inherited from interface org.apache.poi.ss.usermodel.Row
`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`

Constructor Summary
`SXSSFRow(SXSSFSheet sheet, int initialSize)`

Method Summary
`java.util.Iterator<Cell>` `allCellsIterator()`
`java.util.Iterator<Cell>` `cellIterator()`
`Cell` `createCell(int column)` Use this to create new cells within the row and return it.
`Cell` `createCell(int column, int type)` Use this to create new cells within the row and return it.
`Cell` `getCell(int cellnum)` Get the cell representing a given column (logical cell) 0-based.
`Cell` `getCell(int cellnum, Row.MissingCellPolicy policy)` Returns the cell at the given (0 based) index, with the specified `Row.MissingCellPolicy`
`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
`CellStyle` `getRowStyle()` Returns the whole-row cell style.
`Sheet` `getSheet()` Returns the Sheet this row belongs to
`boolean` `getZeroHeight()` Get whether or not to display this row with 0 height
`boolean` `hasCustomHeight()`
`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` `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` `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 height

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SXSSFRow

    public SXSSFRow(SXSSFSheet sheet,
                    int initialSize)

Method Detail

### allCellsIterator

    public java.util.Iterator<Cell> allCellsIterator()

### hasCustomHeight

    public boolean hasCustomHeight()

### iterator

    public java.util.Iterator<Cell> iterator()

  Specified by:
    `iterator` in interface `java.lang.Iterable<Cell>`

### createCell

    public Cell createCell(int column)

  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 `Row`
  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 Cell createCell(int column,
                           int type)

  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 `Row`
  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 greate 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 interface `Row`
  Parameters:
    `cell` - the cell to remove

### setRowNum

    public void setRowNum(int rowNum)

  Set the row number of this row.

  Specified by:
    `setRowNum` in interface `Row`
  Parameters:
    `rowNum` - the row number (0-based)
  Throws:
    `java.lang.IllegalArgumentException` - if rowNum < 0

### getRowNum

    public int getRowNum()

  Get row number this row represents

  Specified by:
    `getRowNum` in interface `Row`
  Returns:
    the row number (0 based)

### getCell

    public Cell getCell(int cellnum)

  Get the cell representing a given column (logical cell) 0-based. If you ask for a cell that is not defined....you get a null.

  Specified by:
    `getCell` in interface `Row`
  Parameters:
    `cellnum` - 0 based column number
  Returns:
    Cell representing that column or null if undefined.
  See Also:
    `getCell(int, org.apache.poi.ss.usermodel.Row.MissingCellPolicy)`

### getCell

    public Cell getCell(int cellnum,
                        Row.MissingCellPolicy policy)

  Returns the cell at the given (0 based) index, with the specified `Row.MissingCellPolicy`

  Specified by:
    `getCell` in interface `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 `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++) {
         Cell cell = row.getCell(colIx);
         if(cell == null) {
           continue;
         }
         //... do something with cell
       }

  Specified by:
    `getLastCellNum` in interface `Row`
  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 interface `Row`
  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.

  Specified by:
    `setHeight` in interface `Row`
  Parameters:
    `height` - rowheight or 0xff for undefined (use sheet default)

### setZeroHeight

    public void setZeroHeight(boolean zHeight)

  Set whether or not to display this row with 0 height

  Specified by:
    `setZeroHeight` in interface `Row`
  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 interface `Row`
  Returns:
    - zHeight height is zero or not.

### setHeightInPoints

    public void setHeightInPoints(float height)

  Set the row's height in points.

  Specified by:
    `setHeightInPoints` in interface `Row`
  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, See `Sheet.getDefaultRowHeightInPoints()`

  Specified by:
    `getHeight` in interface `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 `Sheet.getDefaultRowHeightInPoints()`

  Specified by:
    `getHeightInPoints` in interface `Row`
  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 from `getRowStyle()`

  Specified by:
    `isFormatted` in interface `Row`

### getRowStyle

    public 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 `Row`

### setRowStyle

    public void setRowStyle(CellStyle style)

  Applies a whole-row cell styling to the row.

  Specified by:
    `setRowStyle` in interface `Row`

### cellIterator

    public java.util.Iterator<Cell> cellIterator()

  Specified by:
    `cellIterator` in interface `Row`
  Returns:
    Cell iterator of the physically defined cells. Note element 4 may actually be row cell depending on how many are defined!

### getSheet

    public Sheet getSheet()

  Returns the Sheet this row belongs to

  Specified by:
    `getSheet` in interface `Row`
  Returns:
    the Sheet that owns this row

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.