public interface LightCellsDataHandler
Represents cells data handler for reading large spreadsheet files in light weight mode. When reading a workbook by this mode, startSheet(Worksheet) will be checked when reading every worksheet in the workbook. For one sheet, if startSheet(Worksheet) gives true, then all data and properties of rows/cells of this sheet will be checked and processed by the implementation of this interface. For every row, startRow(int) will be called to check whether it need to be processed. If a row needs to be processed, properties of this row will be read firstly and user can access its properties by processRow(Row). if row’s cells need to be processed too, then processRow(Row) should returns true and then startCell(int) will be called for every existing cell in this row to check whether one cell need to be processed. If one cell needs to be processed, then processCell(Cell) will be called to process the cell by the implementation of this interface.
|processCell(Cell cell)||Starts to process one cell.|
|processRow(Row row)||Starts to process one row.|
|startCell(int columnIndex)||Prepares to process a cell.|
|startRow(int rowIndex)||Prepares to process a row.|
|startSheet(Worksheet sheet)||Starts to process a worksheet.|
public abstract boolean processCell(Cell cell)
Starts to process one cell. It will be called after one cell’s data has been read.
|cell||Cell||Cell object which is being processed currently|
Returns: boolean - whether this cell needs to be kept in cells model of current sheet. Commonly it should be false so that all cells will not be kept in memory after being processed and then memory be saved. For some special purpose such as user needs to access some cells later after the whole workbook having been processed, user can make this method return true to keep those special cells in Cells model and access them later by APIs such as Cells[row, column]. However, keeping cells data in Cells model will requires more memory and if all cells are kept then reading template file in LightCells mode will become same with reading it in normal way.
public abstract boolean processRow(Row row)
Starts to process one row. It will be called after row’s properties such as height, style, …etc. have been read. However, cells in this row has not been read yet.
|row||Row||Row object which is being processed currently.|
Returns: boolean - whether this row’s cells need to be processed. false to ignore all cells in this row.
public abstract boolean startCell(int columnIndex)
Prepares to process a cell. It will be called when reaching an existing cell in current row. Current row is the row of last call of processRow(Row).
|columnIndex||int||column index of the cell to be processed|
Returns: boolean - whether this cell needs to be processed. false to ignore the cell and check the next one until reach the end of cells data of current row
public abstract boolean startRow(int rowIndex)
Prepares to process a row.
|rowIndex||int||the index of next row to be processed|
Returns: boolean - whether this row(properties or cells data) needs to be processed. false to ignore this row and its cells and check the next row.
public abstract boolean startSheet(Worksheet sheet)
Starts to process a worksheet. It will be called before reading cells data of a worksheet.
|sheet||Worksheet||the worksheet to read cells data.|
Returns: boolean - whether this sheet’s cells data needs to be processed. false to ignore this sheet.