Método CreateLoadedCellCursor
Crea un cursor de extracción sobre las celdas almacenadas de un libro XLS clásico cargado, con una opción para incluir celdas en blanco con estilo independiente
Sintaxis
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Orden y coste del recorrido
El cursor recorre las hojas de cálculo en orden de colección y, después, las celdas por fila y columna ascendentes
SheetIndex, Rowy Col son coordenadas públicas basadas en uno
El recorrido sigue directamente las ramas asignadas del almacenamiento disperso clásico, de modo que el estado del cursor permanece constante y no asigna matrices dimensionadas según los límites de filas o columnas de la hoja de cálculo
La sobrecarga sin parámetros omite los valores en blanco y conserva el contrato existente de recorrido de valores y fórmulas
Pase True para incluir las celdas en blanco almacenadas cuyo XF de celda difiere del formato heredado de la fila, la columna o la hoja de cálculo
El formato heredado por sí solo no materializa ni emite ninguna coordenada en blanco
Campos de la instantánea
| Campo | Significado |
|---|---|
SheetIndex / SheetName | Identidad de la hoja de cálculo propietaria en el momento de la captura |
Row / Col | Coordenadas de celda basadas en uno |
StyleIndex | Índice de estilo XF clásico |
Kind (TXLSLoadedCellKind) | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula, or xlckBlank |
Value | Valor Variant de propiedad del llamador capturado para la celda actual |
Formula | Texto de fórmula para las celdas de fórmula; de lo contrario, una cadena vacía |
Las cadenas y los Variant de TXLSLoadedCellSnapshot son valores de propiedad del llamador y no exponen objetos de celda internos
Para las celdas de fórmula, Value sigue la semántica normal de acceso a valores del libro clásico, incluido el cálculo cuando es necesario
Para xlckBlank, Value es Unassigned, Formula está vacío y StyleIndex identifica el XF de celda almacenado
Estado e invalidación
State es TXLSLoadedCellCursorStatehasta el primer xlccBeforeFirst correcto, MoveNextmientras xlccActive está disponible y Current cuando el recorrido termina xlccEof after traversal completes
Leer Current antes de la primera celda o después de EOF genera EXLSLoadedCellCursorState
Crear o eliminar celdas almacenadas, agregar, eliminar o mover hojas de cálculo, o reemplazar el modelo del libro invalida el cursor
La siguiente llamada a MoveNext o Current genera entonces EXLSLoadedCellCursorInvalidated
Cambiar el valor, la fórmula o el formato de una celda existente no invalida el cursor, y una instantánea ya capturada permanece sin cambios
Ejemplo
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;