É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