Método CreateLoadedCellCursor
Cria um cursor de extração sobre células armazenadas em uma pasta de trabalho XLS clássica carregada, com uma opção para incluir células em branco com estilo próprio
Sintaxe
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Ordem de travessia e custo
O cursor percorre as planilhas na ordem da coleção e, em seguida, as células por linha e coluna crescentes
SheetIndex, Rowe Col são coordenadas públicas com base um
A travessia segue diretamente os ramais alocados do armazenamento esparso clássico, de modo que o estado do cursor permanece constante e não aloca matrizes dimensionadas para os limites de linha ou coluna da planilha
A sobrecarga sem parâmetros ignora células em branco e preserva o contrato existente de travessia de valores e fórmulas
Passe True para incluir células em branco armazenadas cujo XF da célula difere do formato herdado de linha, coluna ou planilha
Somente a formatação herdada não materializa nem emite uma coordenada em branco
Campos do instantâneo
| Campo | Significado |
|---|---|
SheetIndex / SheetName | Identidade da planilha proprietária no momento da captura |
Row / Col | Coordenadas de célula com base um |
StyleIndex | Índice de estilo XF clássico |
Kind (TXLSLoadedCellKind) | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormulaou xlckBlank |
Value | Valor Variant próprio capturado para a célula atual |
Formula | Texto da fórmula para células com fórmula; caso contrário, uma cadeia vazia |
Strings e Variants em TXLSLoadedCellSnapshot são valores próprios e não expõem objetos internos de célula
Para células com fórmula, Value segue a semântica normal de acesso a valores da pasta de trabalho clássica, incluindo cálculo quando necessário
Para xlckBlank, Value é Unassigned, Formula está vazia e StyleIndex identifica o XF armazenado da célula
Estado e invalidação
State é TXLSLoadedCellCursorStateaté o primeiro xlccBeforeFirst bem-sucedido, MoveNextenquanto xlccActive está disponível e Current após a conclusão da travessia xlccEof after traversal completes
Ler Current antes da primeira célula ou depois do EOF lança EXLSLoadedCellCursorState
Criar ou excluir células armazenadas, adicionar, excluir ou mover planilhas, ou substituir o modelo da pasta de trabalho invalida o cursor
A próxima chamada de MoveNext ou Current então lança EXLSLoadedCellCursorInvalidated
Alterar o valor, a fórmula ou o formato de uma célula existente não invalida o cursor, e um instantâneo já capturado permanece inalterado
Exemplo
Cursor := Workbook.CreateLoadedCellCursor;
while Cursor.MoveNext do
begin
Cell := Cursor.Current;
Memo1.Lines.Add(Format('%s!R%dC%d = %s',
[Cell.SheetName, Cell.Row, Cell.Col, VarToStr(Cell.Value)]));
end;