Documentación de HotXLS

Metodo ForEachCell

Enumera las celdas cargadas en una hoja de trabajo XLS clasica y llama a un callback de aplicacion para cada celda

Sintaxis

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;

Observaciones

ForEachCell recorre solo las celdas que existen en el modelo de hoja de trabajo cargado. No explora todas las filas y columnas posibles
Las celdas se visitan en orden de fila mayor. SheetIndex, Row y Col son coordenadas publicas de base 1. Value es el valor de celda actual. Formula contiene el texto de la formula para celdas de formula y esta vacio para celdas de valor ordinario
Establezca Cancel en True en el callback para detener el recorrido anticipadamente. El valor de retorno es el numero de callbacks realizados

Ejemplo

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

Vease tambien