Documentazione HotXLS

Metodo ForEachCell

Enumera le celle caricate in un foglio di lavoro XLS classico e chiama un callback dell'applicazione per ogni cella

Sintassi

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;

Note

ForEachCell visita solo le celle che esistono nel modello del foglio di lavoro caricato. Non scansiona ogni possibile riga e colonna del foglio
Le celle vengono visitate in ordine riga per riga. SheetIndex, Row e Col sono coordinate pubbliche in base 1. Value è il valore corrente della cella. Formula contiene il testo della formula per le celle formula ed è vuoto per le celle con valore ordinario
Impostare Cancel a True nel callback per interrompere la scansione prima. Il valore restituito è il numero di callback effettuati

Esempio

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);

Vedere anche