Documentación HotXLS

Componente TXLSWorkbookViewer

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

Orígenes de libros de trabajo

Navegación

El control proporciona barras de desplazamiento horizontal y vertical, desplazamiento con la rueda del mouse, arrastre con el mouse, extensión de rango con Shift, teclas de flecha, Inicio, Página arriba, Página abajo y navegación con Tab

GoToCell selecciona una fila y una 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, Delete y la barra de fórmulas; las celdas bloqueadas de una hoja protegida permanecen de solo lectura

BeginEdit, CommitEdit y CancelEdit controlan el editor en el lugar, 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 en blanco, y luego recalculan las fórmulas dependientes e invalidan las cachés de formato condicional y de paginación

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

Delete o ClearSelectedRange limpian la selección como una sola transacción; Ctrl+C y CopySelectedRange copian texto Unicode separado por tabuladores, mientras que Ctrl+V, PasteSelectedRange y PasteText pegan un bloque rectangular de texto en la esquina superior izquierda de la selección con una sola entrada de undo

El preflight de protección y estructura rechaza un rango bloqueado completo antes de mutar; undo y redo preservan 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 de matriz existentes, las regiones de tablas de datos y los pegados multicelda que intersectan una combinación se rechazan; las ediciones simples del ancla combinada y las limpiezas de la combinación completa preservan la geometría de la combinación, mientras que las limpiezas parciales de un rango combinado se rechazan

El motor compartido TXLSWorkbookEditHistory también se puede instanciar sin un control; consulte las transacciones de edición headless para las reglas de coordenadas, vida útil, cálculo y límites de operación

Selección de referencias de fórmulas

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

Representación

El visor usa los anchos de columna, las alturas de fila y el texto mostrado con formato de cada hoja de cálculo, 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 numéricos, 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 guarda en caché un evaluador de formato condicional preparado para la hoja activa, de modo que el desplazamiento y el repintado por selección no reescanean el libro de trabajo; llame a RefreshConditionalFormats después de cambiar valores, fórmulas, rangos o reglas condicionales en un libro de trabajo adjunto

El renderizado XLSX revisa las celdas dispersas y las superposiciones de estilo por intervalo 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 es de base 1 y se acota a PreviewPageCount; los comandos de flecha, Página arriba, Página abajo, Inicio, Fin, rueda del mouse y desplazamiento vertical navegan por las páginas lógicas mientras la vista previa está activa

PaginationModel expone el modelo en caché, SavePreviewPageAsMetafile escribe la página lógica seleccionada como EMF, y RefreshPagination reconstruye la caché después de cambios en valores, dimensiones, configuración 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;

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