Aspose::Cells::ILightCellsDataHandler Class Referenceabstract

Represents cells data handler for reading large spreadsheet files in light weight mode.
More...

Inherits Object.

Public Member Functions

virtual bool StartISheet (intrusive_ptr< Aspose::Cells::IWorksheet > sheet)=0
 Starts to process a worksheet. More...
 
virtual bool StartRow (Aspose::Cells::Systems::Int32 rowIndex)=0
 Prepares to process a row. More...
 
virtual bool ProcessIRow (intrusive_ptr< Aspose::Cells::IRow > row)=0
 Starts to process one row. More...
 
virtual bool StartCell (Aspose::Cells::Systems::Int32 columnIndex)=0
 Prepares to process a cell. More...
 
virtual bool ProcessICell (intrusive_ptr< Aspose::Cells::ICell > cell)=0
 Starts to process one cell. More...
 

Detailed Description

Represents cells data handler for reading large spreadsheet files in light weight mode.

When reading a workbook by this mode, StartISheet(IWorksheet) will be checked when reading every worksheet in the workbook. For one sheet, if StartISheet(IWorksheet) 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 ProcessIRow(IRow)if row's cells need to be processed too, then ProcessIRow(IRow) 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 ProcessICell(ICell) will be called to process the cell by the implementation of this interface.

Member Function Documentation

◆ ProcessICell()

virtual bool Aspose::Cells::ILightCellsDataHandler::ProcessICell ( intrusive_ptr< Aspose::Cells::ICell cell)
pure virtual

Starts to process one cell.

It will be called after one cell's data has been read.

Parameters
cellCell object which is being processed currently
Returns
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.

◆ ProcessIRow()

virtual bool Aspose::Cells::ILightCellsDataHandler::ProcessIRow ( intrusive_ptr< Aspose::Cells::IRow row)
pure virtual

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.

Parameters
rowRow object which is being processed currently.
Returns
whether this row's cells need to be processed. false to ignore all cells in this row.

◆ StartCell()

virtual bool Aspose::Cells::ILightCellsDataHandler::StartCell ( Aspose::Cells::Systems::Int32  columnIndex)
pure virtual

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 ProcessIRow(IRow).

Parameters
columnIndexcolumn index of the cell to be processed
Returns
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

◆ StartISheet()

virtual bool Aspose::Cells::ILightCellsDataHandler::StartISheet ( intrusive_ptr< Aspose::Cells::IWorksheet sheet)
pure virtual

Starts to process a worksheet.

It will be called before reading cells data of a worksheet.

Parameters
sheetthe worksheet to read cells data.
Returns
whether this sheet's cells data needs to be processed. false to ignore this sheet.

◆ StartRow()

virtual bool Aspose::Cells::ILightCellsDataHandler::StartRow ( Aspose::Cells::Systems::Int32  rowIndex)
pure virtual

Prepares to process a row.

Parameters
rowIndexthe index of next row to be processed
Returns
whether this row(properties or cells data) needs to be processed. false to ignore this row and its cells and check the next row.