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 は読み込み済みワークシートモデルに存在するセルのみを処理します。シートのすべての行と列をスキャンするわけではありません
セルは行優先順にアクセスされます。SheetIndexRowCol は 1 ベースの公開座標です。Value は現在のセル値です。Formula は数式セルの数式テキストを含み、通常の値セルでは空です
コールバックで CancelTrue に設定するとスキャンを早期終了できます。戻り値はコールバックが呼び出された回数です

関連項目

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

関連項目