Documentación HotXLS

Componente TXLSWorkbookViewer

TXLSWorkbookViewer es un control VCL que muestra hojas de cualquiera de los dos motores de libros sin Microsoft Excel ni automatización COM

Orígenes de libros

Navegación

El control proporciona barras de desplazamiento horizontal y vertical, desplazamiento con la rueda del ratón, arrastre con el ratón, extensión de rango con Mayús, teclas de flecha, Inicio, Re Pág, Av Pág y navegación con Tab

GoToCell selecciona una fila y columna, SelectRange selecciona un rectángulo, NextWorksheet y PreviousWorksheet cambian de hoja, y SelectedRange expone la referencia A1 normalizada

Edición y cálculo

Establezca Editable en True para permitir ediciones con F2, doble clic, teclas imprimibles, Supr y la barra de fórmulas; las celdas bloqueadas de una hoja protegida permanecen en solo lectura

BeginEdit, CommitEdit y CancelEdit controlan el editor en contexto, mientras que EditSelectedCell y FormulaBarText dan soporte a una barra de fórmulas externa

Las ediciones confirmadas reconocen fórmulas, booleanos, enteros, valores de punto flotante, texto y entrada vacía, y después recalculan las fórmulas dependientes e invalidan las cachés de formato condicional y paginación

Undo y Redo usan un historial circular acotado O(1); establezca UndoLimit para controlar la capacidad, o a cero para deshabilitar el historial

Suprimir o ClearSelectedRange borra la selección como una única transacción; Ctrl+C y CopySelectedRange copian texto Unicode separado por tabuladores, mientras que Ctrl+V, PasteSelectedRange y PasteText pegan un bloque de texto rectangular en la celda superior izquierda de la selección con una sola entrada de deshacer

La comprobación previa de protección y de estructura rechaza un rango bloqueado completo antes de la mutación; deshacer y rehacer conservan el texto enriquecido nativo, las cachés de fórmulas, los estilos y las celdas ausentes en ambos modelos, con la misma comprobación de protección en cada intento del historial

Las fórmulas matriciales existentes, las regiones de tablas de datos y los pegados de varias celdas que intersecan una combinación se rechazan; las ediciones de un único anclaje combinado y los borrados de combinaciones completas conservan la geometría de la combinación, mientras que los borrados parciales de rangos combinados se rechazan

El motor compartido TXLSWorkbookEditHistory también puede instanciarse sin un control; consulte transacciones de edición headless para conocer las reglas de coordenadas, ciclo de vida, cálculo y límites de operaciones

Selección de referencias de fórmulas

Llame a BeginReferencePick mientras un editor de fórmulas del host recoge una referencia de hoja de cálculo; cada cambio de selección lanza OnReferencePick con el rango A1 actual hasta que se llama a EndReferencePick

Representación

El visor usa los anchos de columna, las alturas de fila y el texto mostrado con formato de cada hoja, representa rellenos sólidos clásicos y estilos de fuente, y proporciona encabezados, líneas de cuadrícula y colores de selección configurables

Para hojas de cálculo XLSX, el visor también representa rellenos condicionales, colores y énfasis de fuente, formatos de número, escalas de color, barras de datos direccionales positivas y negativas, degradados, bordes, ejes, valores ocultos y todas las familias integradas de conjuntos de iconos

El visor cachea un evaluador de formato condicional preparado para la hoja activa, de modo que el desplazamiento y los repintados de selección no vuelvan a examinar el libro; llame a RefreshConditionalFormats después de cambiar valores, fórmulas, rangos o reglas condicionales en un libro adjunto

La representación XLSX comprueba las celdas dispersas y las superposiciones de estilo por intervalos sin indexar coordenadas vacías, de modo que el desplazamiento no materializa celdas en blanco visibles ni expande el almacenamiento de la hoja de cálculo

Vista previa de impresión

Establezca PrintPreview en True para mostrar la hoja de cálculo activa a través del TXLSPaginationModel compartido que usan la geometría y el conteo de páginas PDF

PreviewPage se basa en uno y se acota a PreviewPageCount; los comandos de flecha, Re Pág, Av Pág, Inicio, Fin, rueda del ratón y desplazamiento vertical navegan por las páginas lógicas mientras la vista previa está activa

PaginationModel expone el modelo cacheado, SavePreviewPageAsMetafile escribe la página lógica seleccionada como EMF, y RefreshPagination reconstruye la caché después de cambios en valores, dimensiones, ajustes de impresión, saltos, títulos o dibujos

Eventos

Ejemplo de Delphi

Viewer := TXLSWorkbookViewer.Create(Self);
Viewer.Parent := Self;
Viewer.Align := alClient;
Viewer.XlsxWorkbook := Workbook;
Viewer.Editable := True;
Viewer.SelectRange(2, 1, 5, 3);
Caption := Viewer.SelectedRange;
Viewer.GoToCell(2, 3);
Viewer.FormulaBarText := '=A1*2';
Viewer.Undo;
Viewer.Redo;
Viewer.RefreshConditionalFormats;
Viewer.PrintPreview := True;
Viewer.PreviewPage := 1;
Viewer.SavePreviewPageAsMetafile('Preview.emf');
Viewer.GoToCell(12, 4);
Caption := Viewer.WorksheetName + ': ' + Viewer.SelectedCellText;

Consulta Demo\Delphi\WorkbookViewer para ver un visor completo creado en tiempo de ejecución, con apertura de archivos y controles de hoja