Documentación HotXLS

Método CreateLoadedCellCursor

Crea un cursor de extracción sobre las celdas almacenadas de un libro de trabajo XLS clásico cargado, con una opción para incluir blancos con estilo independiente

Sintaxis

function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(
  AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;

Orden y costo del recorrido

El cursor visita las hojas de cálculo en orden de colección y luego 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 blancos 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 una coordenada en blanco

Campos de la instantánea

CampoSignificado
SheetIndex / SheetNameIdentidad de la hoja de cálculo propietaria en el momento de la captura
Row / ColCoordenadas de celda basadas en uno
StyleIndexÍndice de estilo XF clásico
Kind (TXLSLoadedCellKind)xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula, or xlckBlank
ValueValor Variant de propiedad del llamador capturado para la celda actual
FormulaTexto 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 de trabajo 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 exitoso, 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 de trabajo 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;

Véase también