Enumerates the loaded cells in a classic XLS worksheet and calls an application callback for each cell.
Syntax
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;
Remarks
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.
Example
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