HotXLS dokumentacija

ForEachCell metodas

Skaičiuoja įkeltus langelius klasikinio XLS darbalapyje ir kiekvienam langeliui iškviečia programos atgalinį iškvietimą

Sintaksė

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;

Pastabos

ForEachCell vaikšto tik langelius, kurie egzistuoja įkeltame darbalapyje modelyje. Jis nenuskaito kiekvienos galimos lapo eilutės ir stulpelio
Langeliai aplankomi eilučių pagrindine tvarka. SheetIndex, Row ir Col yra 1 pagrįstos viešos koordinatės. Value yra dabartinė langelio reikšmė. Formula yra formulės tekstas formulių langeliams ir tuščias paprastiems reikšmių langeliams
Atgaliniame iškvietime nustatykite Cancel į True, kad sustabdytumėte nuskaitymą anksčiau. Grąžinama reikšmė yra atliktų atgalinių iškvietimų skaičius

Pavyzdys

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

Taip pat žr