HotXLS 文档

ForEachCell 方法

Enumerates the loaded cells in a classic XLS worksheet and calls an application callback for each cell

语法

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 walks only cells that exist in the loaded worksheet model. It does not scan every possible row and column in the sheet
Cells are visited in row-major order. SheetIndex, Row, and Col are 1-based public coordinates. Value is the current cell value. Formula contains the formula text for formula cells and is empty for ordinary value cells
Set Cancel to True in the callback to stop the scan early. The return value is the number of callbacks that were made

示例

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