Документация на HotXLS

Метод ForEachCell

Изброява заредените клетки в класически XLS работен лист и извиква обратно извикване на приложение за всяка клетка

Синтаксис

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;

Забележки

ForEachCell обхожда само клетки, съществуващи в заредения модел на работния лист, не сканира всеки възможен ред и колона
Клетките се посещават в ред-мажорен ред. SheetIndex, Row и Col са едноиндексирани публични координати. Value е текущата стойност на клетката. Formula е формулата на клетката (или празен низ)
Задайте Cancel на True в обратното извикване, за да спрете сканирането рано. Върнатата стойност е броят на извършените обратни извиквания

Пример

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

Вижте също