Docs HotXLS

ForEachCell-method

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

Syntaxe

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;

Remarques

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

Exemple

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