Documentação do HotXLS

Método ForEachCell

Enumera as células carregadas em uma planilha XLS clássica e chama um callback de aplicação para cada célula

Sintaxe

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;

Observações

ForEachCell percorre apenas as células que existem no modelo de planilha carregado. Não varre todas as linhas e colunas possíveis da planilha
As células são visitadas em ordem de linha principal. SheetIndex, Row e Col são coordenadas públicas baseadas em 1. Value é o valor atual da célula. Formula contém o texto da fórmula para células de fórmula e fica vazio para células de valor comum
Defina Cancel como True no callback para interromper a varredura antecipadamente. O valor de retorno é o número de callbacks realizados

Exemplo

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

Veja também