HotXLS Docs

ForEachCell method

Enumerates the loaded cells in a classic XLS worksheet and calls an application callback for each cell.

Syntax

type
  TXLSCellReadEvent = procedure(
    Sender: TObject;
    SheetIndex, Row, Col: Integer;
    const Value: Variant;
    const Formula: WideString;
    var Cancel: Boolean) of object;

function ForEachCell(Callback: TXLSCellReadEvent): Integer;

Remarks

ForEachCell walks only cells that exist in the loaded worksheet model. It does not scan every possible row and column in the sheet.
Cells are visited in row-major order. SheetIndex, Row, and Col are 1-based public coordinates. Value is the current cell value. Formula contains the formula text for formula cells and is empty for ordinary value cells.
Set Cancel to True in the callback to stop the scan early. The return value is the number of callbacks that were made.

Example

procedure TForm1.ReadCell(Sender: TObject; SheetIndex, Row, Col: Integer;
  const Value: Variant; const Formula: WideString;
  var Cancel: Boolean);
begin
  Memo1.Lines.Add(Format('%d:%d = %s', [Row, Col, VarToStr(Value)]));
  if Row >= 1000 then
    Cancel := True;
end;

Visited := Workbook.Sheets[1].ForEachCell(ReadCell);

See Also