Docs HotXLS

ForEachCell-method

Énumère les cellules chargées d'une feuille XLS classique et appelle un callback applicatif pour chaque cellule

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 ne parcourt que les cellules qui existent dans le modèle de feuille chargé. Il ne scanne pas chaque ligne et colonne possible de la feuille
Cells are visited in row-major order. SheetIndex, Row, and Col are 1-based public coordinates. Value is the current cell value. Formula contient le texte de la formule pour les cellules à formule et est vide pour les cellules à valeur ordinaire
Set Cancel to True dans le callback pour arrêter le scan plus tôt. La valeur de retour est le nombre de callbacks effectués

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