Documentación de HotXLS

Método ForEachCell

Enumera las celdas cargadas en una hoja de cálculo XLS clásica y llama a un callback de la aplicación 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 cálculo cargado. No escanea cada fila y columna posible en la hoja
Las celdas se visitan en orden de fila mayor. SheetIndex, Rowy Col son coordenadas públicas basadas en 1. Value es el valor actual de la celda. Formula contiene el texto de la fórmula para las celdas de fórmulas y está vacío para las celdas que no son de fórmulas
Set Cancel to True en la devolución de llamada para detener el escaneo antes de tiempo. El valor devuelto es la cantidad de devoluciones de llamada que se realizaron

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

Véase también