Biblioteca de Excel para RAD Studio

Lea, escriba, aplique estilos y exporte libros de Excel sin automatización de Office

HotXLS es una biblioteca nativa de Object Pascal para aplicaciones Delphi y C++Builder. Maneja directamente los flujos de trabajo clásicos de XLS y la fachada XLSX actual, con API de libros de trabajo, edición de hojas, formato enriquecido, asistentes de exportación, demostraciones y documentación sin conexión en el paquete

Captura del libro XLS + XLSX
Valores
Estilos
Exportar
Números
Bordes
CSV
Fechas
Colores del tema
HTML
Fórmulas
Validación
RTF

Resumen de capacidades actuales

La línea actual de HotXLS combina la fachada XLS original con un motor XLSX dedicado, por lo que el código heredado puede seguir usando la API clásica mientras que los proyectos nuevos pueden apuntar a las funciones OOXML directamente

E/S de libro nativo

Cree, abra, modifique y guarde libros de Excel directamente desde código Delphi o C++Builder. No requiere instalación de Microsoft Excel, automatización COM ni un proceso de hoja de cálculo externo

Guarde plantillas XLTX sin macros con SaveAs(FileName, xlsxOpenXMLTemplate) o la sobrecarga equivalente para flujos, incluida la salida en streaming; el formato de guardado predeterminado se mantiene sin cambios

Fachada XLS clásica

Una API madura para libros de Excel 97-2003 (.xls), que cubre todo el modelo de objetos clásico con un round trip BIFF8 de alta fidelidad, y lee archivos heredados de Excel 2.0/3.0/4.0 (BIFF2-4) para obtener sus valores

  • Los intervalos indexados de salida de fórmulas evitan escaneos repetidos de las filas previas al reconstruir grafos de dependencias grandes, incluidas las referencias a salidas de matriz y las dependencias que cruzan varias hojas
  • El guardado XLS clásico preserva las cachés de fórmulas cargadas o calculadas, incluidas las raíces de fórmulas compartidas y de matriz; las cachés faltantes conservan el fallback de cálculo, mientras que un Recalculate explícito refresca los valores existentes
  • Las referencias escalares de nombres definidos se intersectan con los rangos de una sola fila o de una sola columna en la celda de la fórmula, mientras que los argumentos de rango agregados y de búsqueda conservan los rangos completos; el recálculo evita falsos ciclos de rango, prioriza las cachés de búsqueda finalizadas y preserva la precisión de punto flotante en aritmética mixta de enteros y punto flotante
  • Los round trips de XLSX conservan las fórmulas dinámicas de área de impresión, las uniones de rangos calificadas y el índice de fuente fonética con valor cero requerido; las partes generadas y preservadas comparten declaraciones de tipo de contenido únicas, mientras que las propiedades personalizadas y las relaciones raíz opacas retienen identificadores de relación distintos
  • El XLS clásico retiene los registros de márgenes importados ausentes hasta que el margen correspondiente se establece explícitamente, sin cambiar la salida de márgenes predeterminada de los libros nuevos
  • AGGREGATE maneja de forma independiente los errores sin caché y la selección anidada, con semánticas separadas de referencia y de matriz calculada para las opciones 0 a 7
  • Los round trips de XLSX conservan el XML de gráficos sin modificar y los desfases de anclaje de gráficos, los nombres, tamaños y schemes de fuentes de formato condicional, las banderas de estilo explícitas y los colores RGB, y una orientación de página sin especificar cuando solo se establecen los márgenes
  • Modelo de objetos completo: libro, hoja de cálculo, rango, fórmula, formato, imagen, hipervínculo, nombre definido, protección, configuración de página y exportación de reportes
  • Los metadatos de columna del modo clásico exponen los marcadores de contracción de esquema con independencia del estado oculto y del nivel de agrupamiento, y los preservan en round trips de XLS en bruto, copias de formato de columnas y copias de hojas
  • La configuración de página clásica expone HasSetupRecord y PrinterSettingsInitialized, preserva byte a byte un registro BIFF Setup intacto, mantiene ausente un registro ausente e inicializa los campos dependientes de la impresora solo cuando sus setters lo requieren
  • La conversión XLS-a-XLSX y XLSX-a-XLS transporta de forma independiente la configuración de página tipada y los bytes opacos del driver de impresora, mantiene los campos estándar como autoridad sobre los valores privados duplicados y rechaza la configuración BIFF8 no representable antes de escribir el destino
  • Los libros XLS clásicos y XLSX exponen políticas SaveExternalLinkValues y UpdateLinks equivalentes; los valores en caché de libros externos pueden omitirse sin borrar las definiciones de vínculos ni las cachés en memoria, las declaraciones de origen inválidas pero intactas siguen siendo sin pérdida, la conversión entre formatos conserva los valores de política legales y las preferencias de actualización nunca inician acceso a archivos ni a la red
  • Los libros XLSX exponen detección, conteo y eliminación atómica exactos del task pane de Web Add-ins; la eliminación valida cierres internos acotados de relaciones antes de la mutación, preserva cualquier parte compartida por otra relación, borra las partes de relaciones propias y las entradas obsoletas de tipo de contenido, evita la resurrección por copias comprimidas del origen y permanece idempotente, mientras que XLS clásico y ODS reportan la operación como no soportada sin escanear el paquete
  • Las hojas XLS clásicas y XLSX exponen métodos equivalentes de selección consciente de paneles y de desplazamiento con base uno mediante TXLSPanePosition; TryGetWindowScroll y ScrollWindow mapean los ejes compartidos superior, inferior, izquierdo y derecho al estado de vista nativo de dos niveles de cada formato, los preservan en guardados, aperturas y copias de hojas, y rechazan de forma atómica los paneles faltantes o las coordenadas no válidas; las instantáneas de selección siguen siendo ordenadas, superpuestas y propiedad del llamador, las ediciones estructurales de fila completa o columna completa remapean cada panel preservando la identidad del área activa con survivor y fallbacks de celdas de frontera deterministas, y las operaciones sobre áreas grandes se mantienen lineales amortizadas; el XLS clásico además agrega registros de selección consecutivos, preserva los cuerpos de registro intactos o no válidos, reporta los grupos mal formados mediante xlsDiagnosticSelectionRecordInvalid y divide en bloques las selecciones de más de 1369 áreas
  • La unidad neutral de motor lxOutline construye la geometría de esquema de filas o columnas a partir de tramos dispersos ordenados, descubre nodos summary-before o summary-after en tiempo O(log n + k) y crea planes comprimidos e idempotentes para contraer nodos, cambiar niveles de visualización, preservar hijos anidados y actualizar recursivamente estados de hijos sin escanear coordenadas sin usar de la hoja; ambos motores de hojas exponen los mismos métodos de consulta y control de nodos, mientras que los grupos OpenDocument conservan su estado de visualización nativo y se convierten a marcadores de nodos summary de XLSX
  • Los libros XLS clásicos y XLSX exponen el mismo contrato ResolveIndexedColor sin efectos secundarios para índices de color públicos, valores BIFF icv y colores indexados OOXML; los tokens de paleta, automático, sistema y no válidos permanecen diferenciados, el índice de borde cero conserva su significado indeterminado, la salida ARGB se normaliza y los colores del sistema operativo se resuelven únicamente mediante un callback explícito del llamador
  • Ambos motores de libros exponen una consulta NearestIndexedColor sin efectos secundarios respaldada por una caché OKLab consciente de mutaciones; busca solo entre las 56 entradas físicas de la paleta BIFF, devuelve índices públicos y físicos con metadatos de distancia y de coincidencia exacta, rechaza alfa parcial y resuelve los empates a igual distancia hacia el índice público más bajo
  • Ambos motores de libros exponen un inventario ScanIndexedColorUsage determinista y sin efectos secundarios para las 56 ranuras físicas de la paleta, con valores ARGB normalizados, conteos de definiciones y referencias, tipos de consumidores y bloqueos de preservación a través de estilos, celdas dispersas, objetos de hoja, gráficos, comentarios y formatos condicionales, sin materializar celdas sin uso
  • Ambos motores de libros exponen una vista previa BuildBiffPalettePlan sin mutaciones que protege a los consumidores indexados, agrega colores de tema directos y resueltos por frecuencia renderizada, preserva las coincidencias exactas existentes, mapea colores de forma determinista mediante OKLab y reporta identidad del origen, cambios de ranura, cobertura exacta, error ponderado y cuantización de desborde sin cambiar el libro ni el comportamiento de guardado
  • Ambos motores de libros pueden validar y aplicar de forma atómica un plan vigente de 56 ranuras mediante ApplyBiffPalettePlan, rechazando entradas obsoletas o alteradas antes de cualquier mutación y reconstruyendo una sola vez el matcher perceptual; los libros clásicos además proporcionan una BiffPaletteSavePolicy explícita cuyo valor predeterminado preserva la salida histórica, cuyo modo de optimización aplica solo a BIFF8 y cuyos guardados fallidos o cancelados restauran la paleta original
  • Ambos motores de libros exponen un valor validado TXLSRenderCalibration con controles de ancho, alto, espaciado multilínea, márgenes de celda, escalado de pantalla y DPI de medición; la asignación es atómica, la captura devuelve una instantánea independiente de la operación, los valores predeterminados son deterministas y la configuración en tiempo de ejecución nunca se serializa ni se usa por sí sola para redimensionar la geometría de la hoja
  • Ambos motores de libros crean servicios IXLSRenderGeometry propiedad de la operación cuya calibración inmutable, generación del libro, backend, firma completa de fuentes, ancho de ajuste de línea y texto forman una identidad acotada de caché local de métricas; la medición GDI compartida y las conversiones de píxel, punto, ancho de columna, MDW y ancho utilizable de celda eliminan las cachés globales de proceso de DPI y ancho base de AutoFit, manteniendo el escalado de pantalla fuera del escalado de coordenadas de salida
  • El AutoFit de XLS clásico y XLSX captura una instantánea de geometría de render por operación y aplica medición calibrada de fuentes, ajuste de línea, espaciado de línea y márgenes de celda; la paginación captura la misma geometría local del libro por construcción, de modo que los tamaños de página predeterminados se mantienen estables, los cambios posteriores de calibración requieren una reconstrucción explícita y el cálculo de páginas nunca escribe los altos de fila ni los anchos de columna almacenados
  • La paginación de PDF, SVG, mapa de bits, vista previa de impresión y visor de libros identifica su propio backend de render y retiene una calibración inmutable del libro para la operación completa; el ajuste de texto de página compartido y el ajuste de línea de SVG usan la caché acotada de métricas local de la operación con estilos de fuente completos e identidad de charset en lugar de objetos de medición globales del proceso
  • Las exportaciones de datasets con TDataToXLS pueden incluir solo los campos seleccionados o excluir campos sensibles manteniendo alineados los encabezados, las filas de datos, los callbacks y los anchos de columna
  • Las matrices dinámicas XLSX automáticas redimensionan y son dueñas de sus celdas de spill, preservan las obstrucciones del usuario con #SPILL!, soportan A1# y el @ unario, y recuperan la propiedad tras reabrir; las fórmulas CSE fijas evalúan la aritmética de rangos cruda elemento por elemento
  • El MAP de varias matrices y el FILTER de matriz computada preservan los errores por elemento, mientras que los metadatos de rich values de XLSX retienen errores tipados #SPILL! y #CALC!
  • El GetConversionReport inventaría las pérdidas conocidas del formato destino sin mutar, y el SaveAsChecked opcional puede rechazarlas antes de escribir; la salida explícita xlsxOpenXMLMacroEnabledTemplate crea paquetes XLTM y preserva el VBA existente
  • Las implementaciones de TXLSQueryTableProvider suministradas por el llamador refrescan datos de query tables de esquema fijo de forma transaccional, redimensionando rangos de tabla y de filtro con resultados acotados, progreso, cancelación y rollback
  • Las consultas automáticas de base de datos vinculan parámetros posicionales acotados desde literales tipados explícitamente o celdas almacenadas de la hoja, incluidos Unicode, texto vacío, fechas, nulls y cachés de fórmulas disponibles; Jet y ACE preservan las fechas tipadas sin conversión de timestamp dependiente de la configuración regional, y el refresh aplica los resultados de forma transaccional
  • Las consultas automáticas de texto refrescan archivos delimitados o de ancho fijo con decodificación explícita, campos tipados, columnas omitidas, filas de encabezado e inicio configuradas y actualizaciones transaccionales acotadas; las posiciones de ancho fijo usan unidades de código UTF-16 decodificadas, recortan el relleno y retienen las columnas declaradas en registros cortos
  • La validación de importación comprueba tipos escalares estrictos, límites numéricos y de fecha, unicidad compuesta y relaciones entre columnas contra los valores almacenados y las cachés de fórmulas, con violaciones estructuradas direccionadas por celda y operaciones explícitas de anotación o de libro de corrección
  • CELL lee la identidad real del archivo referenciado, los formatos numéricos base soportados, la alineación, el estado locked y el ancho de columna en XLS y XLSX; INFO("recalc") lee el modo de cálculo del libro, mientras que la información no disponible del entorno de la aplicación Excel devuelve un error explícito
  • Las bandas de reporte repetidas clonan conversaciones completas de comentarios encadenados con identidades remapeadas, y la paginación nativa compartida renderiza tramos de celdas combinadas mientras las cachés de gráficos se refrescan desde rangos locales soportados tras ediciones y recálculo
  • Cálculo de fórmulas integrado con registros de funciones de usuario globales del proceso y locales del libro, semántica de invalidación por nombre local, invocación de manejadores sin bloqueos, callbacks OnUserFunction y OnUserFunctionEx, más las funciones comunes de Excel de texto, fecha, día laboral, ingeniería/conversión de base, bit a bit, estadísticas, agregados, matemáticas y matrices dinámicas, incluidos operadores de matriz broadcast con errores por celda, matrices multivariables completas de LINEST / LOGEST, predicciones con forma de TREND / GROWTH, SORT estable por filas o columnas, SORTBY estable multiclave por filas o columnas con direcciones independientes y claves de matriz, redondeo CEILING.MATH / FLOOR.MATH consciente de matrices con broadcasting de singletons y errores locales, evaluación estable y consciente de matrices de COT / ACOT / COTH / ACOTH / CSC / CSCH / SEC / SECH con errores locales y ramas seguras ante desbordes para entradas grandes, cálculos de repetición COMBINA / PERMUTATIONA con verificación de desborde, matrices identidad MUNIT acotadas en memoria, conversión UNICHAR de escalares Unicode, texto de moneda tailandesa mediante BAHTTEXT, inspección ISFORMULA que preserva referencias sin recalcular el destino, UNIQUE por filas o columnas indexado por hash, resultados derramados de FREQUENCY, XMATCH / XLOOKUP binarios logarítmicos, detección de argumentos opcionales ISOMITTED, conversión de matrices ARRAYTOTEXT / VALUETOTEXT, cálculos validados de XIRR / XNPV, tiempos de inversión y tasas de crecimiento PDURATION / RRI, y depreciación VDB de períodos fraccionarios, más vinculaciones completas de LET y closures de LAMBDA invocables a través de nombres definidos y capturadas léxicamente dentro de LET
  • El EvaluateFormulaAt neutral de motor evalúa texto de fórmulas A1 o R1C1 en un contexto explícito de celda de hoja sin mutar el modelo de celdas, la caché, el estado dirty, la hoja activa ni el grafo de dependencias; los resultados tipados preservan errores de fórmula, matrices, valores vacíos, volatilidad, cancelación, autorización de referencias externas y categorías estables de fallo, mientras que IXLSFormulaEvaluationTemplate reutiliza un ancla compilada inmutable entre celdas destino bajo presupuestos configurables de longitud de fórmula, pasos, recursión y memoria de matrices
  • XLS clásico y XLSX exponen métodos ValidateFormulaEntry equivalentes y sin mutaciones, una FormulaEntryPolicy a nivel de libro y escaneos AuditFormulaSymbols analizados sobre celdas y nombres definidos, con escaneos más rápidos de XLS clásico disperso y un único recorrido de símbolos que preserva los hallazgos independientes de funciones y nombres, el ámbito, la deduplicación y el orden de los hallazgos; la entrada vacía exacta, las fórmulas que devuelven cadena vacía, las funciones desconocidas, los nombres desconocidos, los fallos de sintaxis, los destinos no válidos y las limitaciones del formato destino permanecen diferenciados, la asignación normal de fórmulas aplica de forma atómica el rechazo estricto o la preservación, los símbolos desconocidos preservados se evalúan y propagan como #NAME?, los cambios de UDF o de nombres definidos invalidan dependencias obsoletas, el BIFF clásico almacena las llamadas desconocidas preservadas como funciones de usuario de add-ins, la validación reconoce funciones de usuario registradas o por callback, lambdas léxicas y de nombres definidos, marcadores de posición de reportes, vínculos externos registrados y referencias estructuradas válidas sin invocar manejadores, y los callbacks peligrosos de funciones externas o de estilo macro permanecen bloqueados antes de evaluar argumentos salvo autorización explícita
  • Inspección de tokens de fórmula sin pérdida y mutación protegida para ambos motores de libros mediante TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText y SetFormulaTokens, con flujos propiedad del llamador, proyecciones de tokens de solo lectura, cargas útiles BIFF en bruto, banderas de referencia independientes, clonación, reemplazo atómico de referencias, procedencia de contexto y validación antes de la escritura
  • Tablas de datos What-If de una variable por fila, de una variable por columna y de dos variables, con recálculo aislado de dependencias, errores de entrada eliminada, ediciones estructurales, copias de hojas y soporte de round trip BIFF8
  • Escaneo de celdas, búsqueda y reemplazo de plantillas, llenado de rangos por callback y escrituras directas de arreglos tipados mediante ForEachCell, FindText, ReplaceText, WriteCells y los métodos escritores numéricos, de cadena y variant de filas y columnas, más un ConvertFormulasToValues de hoja completa o de celda única que congela las fórmulas en sus resultados calculados conservando el valor en caché
  • La inspección de cachés de fórmulas neutral de motor mediante IXLSFormulaCacheReader y el CreateFormulaCacheReader de cada motor de libro reporta presencia, procedencia cargada o calculada y el tipo blanco, número, fecha-hora, cadena, Boolean o error, sin evaluar fórmulas, invocar funciones de usuario, descompilar tokens ni cambiar el estado del libro; los leases de vida útil invalidan los readers de forma segura tras destruir el libro, los miembros de fórmulas compartidas retienen cachés independientes, y XLSX y ODS preservan errores tipados y cachés en blanco explícitas al reabrir
  • El IXLSWorkbook.CreateReadOnlyView clásico y el IXLSXWorkbookOwner.CreateReadOnlyView de XLSX crean instancias IXLSReadOnlyWorkbookView de modelo compartido en tiempo constante, con hojas activas locales de la vista, instantáneas de celdas almacenadas por valor, sin exposición de objetos escribibles, resultados de fórmulas en caché por defecto y texto de fórmula o evaluación aislada de fórmulas opcional; las vistas concurrentes mantienen privados el estado de recursión, las cachés escalares y de matrices y las fórmulas XLSX compiladas, la evaluación externa XLSX lee solo cachés de vínculos locales del archivo, las celdas empaquetadas permanecen sin materializar y cada vista sostiene un lease de lectura que rechaza escrituras al modelo antes de la mutación
  • A partir de la 2.384.51, TXLSReadOnlyCellSnapshot.SheetName es una propiedad WideString de lectura y escritura respaldada por almacenamiento UnicodeString compartido, lo que reduce las asignaciones de nombres por celda; la sintaxis normal de lectura y asignación no cambia, pero la dirección cruda del campo y la disposición de registro anterior ya no están soportadas y los llamadores deben recompilar
  • TXLSWorkbookWorkspace acepta adaptadores revocables de XLS clásico, XLSX u ODS procedentes del CreateWorkspaceWorkbook de cada motor, preserva identidades completas de ruta o IRI, resuelve las hojas externas por nombre antes que por posición y evalúa fórmulas externas mediante registros en vivo explícitos, un loader opcional controlado por el llamador de una vez por identidad, cachés de archivos tipadas y #REF!; las solicitudes concurrentes de carga comparten un único resultado, los diagnósticos tipados exponen fallos y límites de recursos, los métodos de registro por compatibilidad siguen disponibles en ambas fachadas de libro, los destinos destruidos se desconectan de forma segura y el recálculo nunca abre implícitamente un archivo ni un recurso de red
  • TXLSWorkbookWorkspace.BuildDependencyGraph extrae un único grafo de fórmulas entre libros a partir de los modelos registrados de XLS clásico, XLSX y ODS, conserva identidades completas de libro y hoja, preserva nombres definidos simbólicos locales y externos, resuelve los nombres locales a sus dependencias concretas cuando es posible y almacena los rangos rectangulares grandes como intervalos compactos; los árboles de intervalos de filas aceleran la construcción de aristas y la búsqueda de dependientes, y la construcción del grafo lee el almacenamiento XLSX empaquetado sin materializarlo
  • TXLSWorkbookWorkspace.Recalculate retiene y marca incrementalmente como dirty el grafo de dependencias compartido, planifica los nodos de fórmulas acíclicos en orden topológico entre libros, rechaza los ciclos de fórmulas fuertemente conectados reales sin rechazar los vínculos bidireccionales inofensivos entre libros, y comparte una caché de celdas externas local de la pasada con diagnósticos explícitos de hit, miss, invalidación y nodos bloqueados; las llamadas al mismo workspace se serializan, la eliminación durante una pasada devuelve un estado de workspace cambiado mediante instantáneas seguras de adaptadores, la destrucción espera al cálculo activo y los nodos fallidos permanecen dirty para un reintento explícito
  • CalculateAndVerify compara los resultados almacenados de las fórmulas con cálculos frescos no volátiles y reporta diagnósticos de hoja, celda, fórmula, valor esperado y valor real sin reemplazar la caché; RecalcAndVerifyEx agrega la auditoría profunda con una superposición aislada de resultados del grafo de dependencias, categorías tipadas de fallo con pilas de llamadas acotadas, cancelación de progreso y aplicación atómica opcional de los valores recalculados
  • Las tolerancias de la auditoría profunda filtran los reportes de discrepancias sin suprimir los resultados intermedios frescos: las fórmulas dependientes usan los valores auditados, y la aplicación explícita refresca las cachés modificadas incluso cuando no se reporta ninguna discrepancia; las tolerancias absoluta y relativa se aplican ambas a resultados de punto flotante de doble precisión
  • Las auditorías profundas de fórmulas del XLS clásico reservan capacidad de recorrido y copian de manera eficiente las instantáneas consecutivas en caché de double simple, preservando los demás tipos Variant y la superposición de evaluación aislada
  • El recálculo clásico usa un grafo de dependencias construido bajo demanda, propaga las entradas dirty solo a los dependientes transitivos, recalcula las fórmulas volátiles en cada pasada, evalúa las fórmulas acíclicas en orden de dependencia y aplica iteración de componentes fuertemente conectados para las referencias circulares; desactivar la precisión completa redondea las cachés de fórmulas y de tablas de datos What-If a su precisión numérica efectiva mostrada antes de que las consuman los dependientes
  • AutoFilter, validación de datos de lista, tablas de Excel con diseños sin encabezados y comentarios por tabla más evaluación de fórmulas con referencias estructuradas (Table[Col], tramos de columnas, [#Data] / [#All] / [#Headers] / [#Totals]), extensiones de formato condicional (data bar con relleno y colores de borde para valores negativos, escala de colores, icon set) con prioridades únicas por hoja al guardar y reglas con ámbito de tabla dinámica enrutadas al bucket de extensiones de Excel 2010+, y hojas de gráficos
  • Cuadros de texto, dibujos OfficeArt, importación tipada de tablas dinámicas guiada por relaciones, materialización multivalor filtrada y agrupada, campos calculados, items y miembros, subtotales, totales generales, ordenación estable, cálculos ShowDataAs clásicos y extendidos, más comentarios de texto enriquecido
  • El refresh transaccional de cachés Pivot locales resuelve fuentes rectangulares, de nombres definidos con ámbito de hoja y de tablas en su geometría actual, excluye los totales físicos de las tablas, retiene la identidad del origen a través de movimientos y renombrados de hojas, preserva las identidades existentes de campos y miembros ante reordenación, eliminación y reintroducción del origen, mantiene estables las selecciones de vistas compartidas, maneja valores de error tipados y rechaza esquemas no soportados o nuevos miembros de grupos discretos sin mapear antes de cambiar la caché
  • La materialización segura de hojas Pivot evalúa una caché aislada, rechaza solapamientos inseguros, preserva los objetos de celda y el formato, y rastrea los valores exactos propios a través de redimensionamientos, movimientos y reaperturas XLSX
  • La selección tipada de slicers Pivot no OLAP inspecciona y cambia las selecciones importadas de miembros compartidos, intersecta los filtros de vistas conectadas, preserva las restricciones independientes sobre otros campos y rechaza vinculaciones ambiguas o no soportadas antes de la mutación
  • Round trip BIFF8 de alta fidelidad que preserva los registros creados por Excel, los colores RGB y de temas exactos, las vistas personalizadas y los metadatos de uso compartido/revisión
  • Libros protegidos con contraseña mediante encriptación BIFF8 RC4, además de guardado y carga XLSX con encriptación Agile y HMAC verificado de integridad de datos sobre el paquete encriptado, y reservas de escritura clásicas (SetModifyPassword) que transportan la bandera de recomendación de solo lectura, el hash de la contraseña y el usuario que la reservó
  • Las sobrecargas de AutoFit de celdas combinadas pueden asignar el crecimiento requerido de fila o columna al primer miembro, al último miembro, o distribuirlo de manera uniforme a lo largo del tramo combinado, preservando el estado oculto y respetando los límites por miembro
  • Copia de hojas entre libros (TXLSWorksheets.AddCopy) que clona hacia otro libro los valores de celdas, las fórmulas (recompiladas contra los nombres de hoja del destino), los formatos con colores RGB / de tema exactos, las celdas combinadas, los comentarios, los hipervínculos, el diseño de filas y columnas, los paneles inmovilizados, la protección, la configuración de página, el color de pestaña, los formatos condicionales, las validaciones de datos, los criterios de AutoFilter, las tablas, las imágenes incrustadas, los runs de texto enriquecido (con sus fuentes migradas por valor) y las hojas de gráficos (con las referencias de series recompiladas contra el destino); las fórmulas cuyas hojas faltan en el destino se re-apuntan al libro de origen como vínculo externo cuando este tiene identidad de archivo
  • Vistas Pivot de caché compartida, creación de slicers Pivot locales y eliminación explícita consciente de la selección, refresh fijo de cachés agrupadas y vistas previas de metadatos nativos de diseño compacto
  • La salida nativa transaccional de hojas Pivot soporta diseños agrupados y subtotales de fila personalizados; los campos calculados SUM locales y los items propios de la caché preservan sumas de contexto, orden de resolución, cálculos de visualización soportados y filtrado, mientras que los estados no soportados se rechazan antes de la mutación
  • Los Pivot Timelines y los estados de datos de Slicer proporcionan filtrado local de fechas protegido, ciclo de vida de vistas compartidas y refresh nativo explícito de items sin datos
  • Los proveedores de consultas automáticos refrescan explícitamente las consultas de texto, ADO, ODBC y Web soportadas, con resultados acotados y proveedores personalizados registrados
  • La inspección de gráficos clásicos decodifica las tablas de relleno OfficeArt nativas soportadas, expone diámetros de marcadores en puntos y valida el texto almacenado y las extensiones de anotaciones antes de aplicar estado tipado; el almacenamiento crudo del gráfico se retiene y la apariencia portable de gráficos clásicos sigue validándose por separado
  • La salida headless portable captura rectángulos de XLS clásico o XLSX soportados en instantáneas inmutables y renderiza PDF, SVG y PNG en Linux y macOS con geometría de fuentes explícita, texto enriquecido, objetos de dibujo modelados, imágenes en celda, casillas Boolean, gráficos XLSX en caché soportados y gráficos BIFF8 en caché del núcleo acotados con diseño declarado por el llamador y tamaño efectivo de leyenda
  • Los argumentos de matrices calculadas de texto y estadísticos preservan coerciones y errores específicos de cada función, emparejan la covarianza por posiciones originales y respetan los presupuestos de cálculo
  • Los nombres definidos en cálculos de agregación preservan coerciones escalares, de matriz y de referencias, errores tipados, dependencias y límites de recursos

Fachada XLSX moderna

Un motor OOXML dedicado construido alrededor de TXLSXWorkbook para libros de Excel 2007+ (.xlsx)

  • Cadenas compartidas, estilos, dibujos, funciones de hoja, empaquetado ZIP/XML y metadatos de round trip, incluido el manejo de Xstring de SpreadsheetML consciente de campos que preserva los caracteres de control y los tokens literales _xHHHH_ sin reescribir la sintaxis de fórmulas
  • La configuración de página de la hoja retiene la configuración binaria de impresora byte a byte mediante la relación pageSetup y la parte printerSettingsN.bin por hoja, acepta ubicaciones de partes de origen no estándar, escribe destinos canónicos deterministas, copia en profundidad la carga útil en copias de hojas dentro del mismo libro y entre libros, y reporta relaciones de impresora faltantes, con tipo erróneo o colgantes sin vincular una parte binaria ajena
  • Los escritores tipados numéricos, de cadena y variant de filas y columnas hacen crecer la capacidad de celdas geométricamente entre lotes repetidos, agregan los lotes de filas hacia adelante directamente en vectores de filas dispersos predimensionados, recortan de forma segura en los límites de la hoja, preservan manejadores estables en solapamientos y evitan el despacho por callbacks
  • Lectura y escritura OpenDocument (.ods): importe hojas de cálculo existentes a través de Open / OpenODS, exporte a través de SaveAsODS o SaveAs(xlsxOpenDocumentSpreadsheet), ajuste la salida con TODSExportOptions y conserve en el round trip los estilos, el texto enriquecido, las imágenes, los gráficos, las validaciones, los formatos condicionales, la configuración de página, los rangos de impresión, los grupos de esquema, la estructura de hojas y los metadatos del libro; las opciones de exportación conservan el recálculo, la cancelación del progreso, el diagnóstico y la protección de escritura normales, y la salida a archivo preserva el destino existente ante un fallo de serialización o una cancelación
  • Las reglas de comparación de celdas y de expresión de ODS preservan el estilo diferencial de fuente, los fondos sólidos o transparentes y los formatos de número admitidos en objetivos completos de fila completa, de columna completa y anchos mediante portadores de blancos repetidos compactos; los atributos explícitamente limpiados sobreviven, el formato base no relacionado permanece en cada celda, y los colores de tema o indexados se exportan como colores resueltos
  • Importación multiformato: OpenDocument (.ods) y CSV / TSV con detección de separador, detección de BOM e inferencia opcional de tipos de valores
  • Detección por firma de contenido: DetectExcelContentFormat inspecciona los primeros bytes de un archivo o flujo para distinguir archivos compuestos BIFF, paquetes OOXML, paquetes OpenDocument y texto delimitado plano sin importar la extensión, y ambos motores de libros rechazan los contenedores que no coinciden con un mensaje claro que nombra el loader correcto
  • Texto mostrado con formato: la propiedad de solo lectura FormattedText (en IXLSRange y TXLSXCell) renderiza el valor de una celda a través de su formato numérico — separadores, porcentajes, máscaras de fecha/hora, máscaras de varias secciones, formatos booleanos — igual a lo que Excel muestra en la cuadrícula
  • Monitoreo de cambios de archivos: TXLSFileMonitor vigila un libro en disco y dispara OnFileChanged cuando otro proceso lo sobrescribe al guardar, con un intervalo de sondeo configurable y entrega de eventos en el hilo principal o en el hilo de vigilancia; los manejadores pueden detener o destruir el monitor, o cambiar el archivo vigilado
  • Solicitud de contraseña: el evento OnPassword del motor XLS clásico le pide la contraseña a la aplicación cuando Open se topa con un libro encriptado con contraseña faltante o incorrecta, y reintenta la apertura
  • Pincel de formato: TXLSXCellFormat describe una sola vez fuente, relleno, borde, alineación, formato numérico y protección, y luego estampa celdas, rangos, filas, columnas u hojas completas — solo se aplican los aspectos tocados, y los índices del pool se resuelven una vez por aplicación para un formato masivo rápido
  • Filas en streaming unificadas: TXLSRowCursor recorre fuentes .xls, .xlsx, .xlsm, .ods, CSV o TSV fila por fila (FindFirst / FindNext) manteniendo en memoria solo la fila proyectada actual o la plantilla de repetición ODS, empujando límites de fila y selección de columnas antes de asignar valores, preservando resultados de fórmulas en caché y blancos con estilo almacenados, distinguiendo la presencia de fórmula de la disponibilidad del texto de fórmula, suprimiendo opcionalmente el texto de fórmula, saltando celdas covered de ODF, saltando directamente entre columnas seleccionadas en tramos ODS repetidos, decodificando BOMs UTF-8 o UTF-16 y registros de texto citados multilínea, detectando delimitadores de coma, punto y coma, tabulador o pipe, y ofreciendo búsqueda ValueByCol en tiempo constante; los estados explícitos de ciclo de vida, la cancelación idempotente, la propiedad del flujo prestada o transferida, las vistas de fila zero-copy con verificación de generación, PeakRowBufferedBytes y SheetPassesStarted hacen que los escaneos largos sean observables y seguros, mientras que TXLSForwardReader adapta los mismos backends a callbacks de hoja y celda con base uno sin abrir las partes de hojas omitidas
  • Progreso y diagnósticos: los libros XLS clásicos y XLSX proporcionan callbacks de trabajo más callbacks begin/work/end con cancelación, mientras que IXLSWorkbookProgress y TXLSXWorkbook.Diagnostics exponen códigos estables, severidad, operación, contexto de hoja o paquete, valores de retorno nativos y detalles de excepciones
  • Guardados a prueba de fallos: los fallos de confirmación de hojas, gráficos, extensiones de estilo, VBA, flujos de control, almacenamiento y salida del modo clásico se propagan al llamador, mientras que la salida a disco de XLS, XLSX y ODS se prepara por etapas antes de reemplazar atómicamente el destino
  • El reemplazo de destinos en Windows tolera manejadores de metadatos y de lectura que permiten el borrado en sistemas de archivos con soporte de rename POSIX, mientras que los readers existentes retienen los bytes originales; el acceso de borrado, los bloqueos sin compartir borrado y la protección de solo lectura se comprueban antes de una única confirmación, sin reintento de guardado, y los sistemas de archivos más antiguos o no soportados conservan la ruta de confirmación legada
  • Diagnósticos accionables al guardar archivos: TXLSXWorkbook.SaveAs(FileName) y su sobrecarga con formato explícito preservan el error nativo de Windows cuando falla el reemplazo del destino, con código de diagnóstico 1005 y el destino original intacto
  • Almacenamiento compacto de celdas y estilos: las celdas XLSX viven en bloques de 256 filas con manejadores públicos estables y serialización por filas amigable con la caché; las entradas de fila no cargan etiquetas de carga útil redundantes, y los cambios de valor, fórmula y texto enriquecido evitan la reclasificación de índices; los estilos de celda importados se resuelven a través de un único arreglo cellXf inmutable de índice directo; y la compactación automática del pool de estilos descarta fuentes, rellenos, bordes, formatos numéricos, alineaciones y protecciones sin referencias antes de cada guardado
  • Superposiciones de estilo por intervalos: el formato de filas, columnas y rectángulos se mantiene compacto sin materializar objetos de celda vacíos, se resuelve de forma diferida al acceder a la celda, sobrevive a las ediciones estructurales y hace round trip como entradas compactas de columnas, filas y celdas de solo estilo
  • Guardado normal con filas en streaming: StreamingWrite (el predeterminado) escribe cada fila de la hoja directamente en el flujo deflate del paquete, de modo que la memoria pico sigue a la fila individual más grande, mientras que las cadenas compartidas y las partes XML auxiliares fluyen de una entrada a la vez a través de un único serializador UTF-8 reutilizable
  • Apertura de solo metadatos: TXLSXWorkbook.MetadataOnly analiza propiedades del libro, nombres definidos, nombres de hoja y estados de visibilidad, estilos, tema, conexiones y vínculos externos, pero omite el XML de celdas de la hoja además de las cadenas compartidas, los datos de comentarios y personas, las relaciones de hoja, los dibujos, los gráficos, las tablas, las query tables, las tablas dinámicas y las cargas útiles opacas alcanzables desde la hoja, para descubrir propiedades y nombres rápido y con poca memoria en libros grandes
  • Las ranuras de libros externos de XLSX siguen el orden de declaración de workbook.xml y retienen marcadores de posición vacíos para las relaciones rotas, manteniendo estables las referencias de fórmula [N] posteriores entre carga y guardado
  • Carga selectiva de hojas: TXLSXWorkbook.SelectedSheets permite que Open analice el XML de celdas solo para las hojas nombradas, mientras las demás hojas conservan nombre y visibilidad pero sin celdas; llame a LoadSheet(Index) para materializar bajo demanda una hoja omitida desde el archivo original
  • Copia incremental de partes comprimidas: TXLSXWorkbook.PreserveRawParts abre un archivo origen privado y validado por operación SaveAs y copia sin cambios las entradas de tema, proyecto VBA, conexión, vínculo externo, imagen, gráfico, tabla dinámica, caché de tabla dinámica y entradas opacas alcanzables por relaciones, con sus cargas útiles comprimidas originales; los guardados a archivo exitosos se convierten en la siguiente base limpia, mientras que los libros respaldados en flujo, los archivos origen modificados, las cargas útiles alteradas, los métodos de compresión no soportados y los tamaños comprimidos que no coinciden usan rutas de fallback de serialización transaccional o de rechazo
  • Preservación de extensiones del libro: la apertura y el guardado XLSX retienen declaraciones de namespaces foráneas de la raíz del libro, atributos de markup-compatibility, cargas útiles completas de <extLst> a nivel de libro y sus relaciones desconocidas, mientras las hojas, los nombres, las vistas, las propiedades de cálculo y las cachés de tablas dinámicas tipadas siguen editables; las referencias de relaciones se remapean cuando los IDs generados entran en conflicto
  • Slicers: Worksheet.Slicers.Add(Table, ColumnName) crea slicers de tabla (Excel 2013+) de principio a fin, con la caché de slicer, el nombre definido reservado, la extensión de la hoja y el anclaje de dibujo incluidos, y con control de posición, título, número de columnas, estilo y alto de fila; los libros que ya traen slicers creados por Excel (de tabla o de tabla dinámica) los conservan intactos en el ciclo de apertura y guardado, que reproduce byte a byte las partes y anclajes sin modificar mientras el resto del libro permanece totalmente editable
  • Múltiples ventanas del libro: TXLSXWorkbook.WorkbookViews expone una colección ordenada con operaciones de agregar, insertar, eliminar, mover y limpiar, estado tipado de visibilidad y geometría, atributos y extensiones desconocidos editables, y remapeo del workbookViewId de hojas; las propiedades establecidas de ventana única siguen siendo proyecciones compatibles de la primera vista
  • Nombres definidos externos y fallos de refresh: TXLSXExternalLink analiza, almacena y conserva en round trip las entradas <definedNames> de libros vinculados, mientras que cada TXLSXExternalSheetData rastrea una bandera RefreshError para el estado de fallo de refresh sin requerir una fuente de datos en vivo
  • Importación del portapapeles multiformato: XLSPasteFromClipboardRich prefiere el formato de portapapeles XML Spreadsheet (fórmulas, estilos, combinaciones) sobre el texto Unicode plano, con funciones dedicadas de detección de formato, extracción y análisis de SpreadsheetML 2003
  • Intercambio de portapapeles Biff8 nativo: CopyToClipboard en ambos motores publica la carga útil de documento compuesto "Biff8" propia de Excel junto al texto y al HTML, y PasteFromClipboard la consume primero — los valores llegan sin re-análisis dependiente de la configuración regional, las referencias de fórmulas relativas se re-anclan al destino del pegado, y los formatos numéricos, fuentes, rellenos, bordes, alineación y celdas combinadas hacen round trip tanto entre libros HotXLS como desde copias de Excel
  • El PasteFromClipboard de XLS y XLSX captura BIFF8 y el texto de respaldo juntos bajo un solo bloqueo del portapapeles, conserva la política de reintentos existente y usa el texto capturado legible sin reabrir el portapapeles cuando BIFF8 no está disponible o no se puede analizar; un BIFF8 legible sigue siendo utilizable si no se puede recuperar su texto acompañante, y un texto no disponible por sí solo no inserta ninguna celda
  • Los fallos de publicación requerida de texto y BIFF8 al portapapeles preservan el diagnóstico original GetLastError de Win32 durante la limpieza, para que el llamador lo inspeccione de inmediato
  • Marcado de texto enriquecido: la propiedad de celda TaggedText convierte en ambas direcciones entre runs de texto enriquecido y etiquetas ligeras (<b>, <i>, <u>, <s>, <sub>, <sup>, <color=#RRGGBB>, <font=Name>, <size=N>)
  • Readers de portapapeles seguros para 64 bits con reintento ante contención, búsqueda en caché de objetivos de formato condicional y de validación de datos para áreas absolutas, invertidas, de fila completa, de columna completa y separadas por espacios en blanco, búsqueda, eliminación, evaluación condicional y comprobaciones de validación de reglas consistentes, y un índice de hipervínculos PDF con búsqueda binaria
  • Extensibilidad de cálculo: registro de funciones de usuario por nombre, una API de auditoría de funciones desconocidas, aperturas en modo recuperación que omiten las partes dañadas, intercambio de portapapeles Biff8 nativo y búsqueda de rangos de validación de datos en caché
  • Imágenes PDF: las imágenes de la hoja se incrustan como XObjects Flate RGB con passthrough de JPEG y reutilización de flujos PNG (sin recodificar, canal alfa preservado mediante soft masks), las imágenes byte-idénticas se incrustan una sola vez, los bloques keep-together y XlsxAutoPageBreaks alinean la paginación, y ZipCompressionLevel y DeterministicOutput controlan la salida del guardado
  • Pipeline de salida PDF: los flujos de contenido de página se comprimen con Flate, las operaciones de texto consecutivas comparten bloques de texto agrupados con selección de fuente y color deduplicada, los rellenos adyacentes iguales se fusionan en rectángulos únicos y los segmentos de borde colineales se trazan como runs fusionados — archivos más pequeños y generación más rápida; OnProgress y OnProgressEx, con capacidad de abortar, reportan los estados begin, page y end, mientras que Cancel detiene las exportaciones largas sin confirmar un PDF parcial en el flujo de destino
  • Fidelidad del texto de celdas PDF: word wrapping real con alineación vertical de bloques y líneas justificadas o distribuidas, texto rotado y apilado verticalmente, shrink-to-fit, desbordamiento estilo Excel hacia celdas vecinas vacías con recorte, alineación derecha de números bajo alineación general, sangría, runs de texto enriquecido con estilo, tamaño, color, subrayado, tachado, superíndice y subíndice por run, bordes diagonales y dobles, y texto que abarca celdas combinadas — todo posicionado mediante anchos de avance Helvetica calibrados con GDI
  • Fidelidad de impresión PDF: encabezados y pies de página con estilo y los códigos de Excel de tamaño de fuente, color, negrita/cursiva/subrayado/tachado y super/subíndice, modo de impresión en blanco y negro, títulos de filas y columnas impresos, centrado de impresión horizontal y vertical, indicadores de comentarios más una página de listado de comentarios al final mediante PrintCommentsAtEnd, vínculos GoTo dentro del documento para hipervínculos internos, una preferencia PageLayout del visor con metadatos XMP, anchos de columna MDW fieles a Excel e incrustación de colecciones TrueType con cortes sintetizados de negrita/cursiva de la fuente Unicode
  • Gráficos PDF: los gráficos de la hoja se dibujan como vectores nativos — columnas/barras agrupadas, apiladas y apiladas por porcentaje, línea con marcadores, área, pastel y doughnut con etiquetas de porcentaje, dispersión y radar — con marcos titulados, ejes y etiquetas de marcas escalados automáticamente, líneas de cuadrícula, leyendas, etiquetas de datos, rellenos por serie y la paleta de acentos predeterminada de Excel; los gráficos anclados más allá de la última celda de datos extienden la superficie impresa
  • PDF interactivo: los hipervínculos de la hoja se convierten en anotaciones de vínculo clicables y cada hoja exportada recibe un marcador del esquema del documento
  • Extensibilidad a nivel de paquete: propiedades de documento personalizadas tipadas, partes de datos XML personalizados, imágenes SVG compañeras, etiquetas de datos de gráficos por serie provenientes de celdas con cachés indexadas e invalidaciones de visibilidad por punto, estilos de tabla definidos por el usuario con colores por sección, y una API de auditoría de validación de datos que lista cada celda que incumple
  • Mejoras de fidelidad de formato: los formatos numéricos de tiempo transcurrido [h]:mm:ss y de fracción # ??/?? se renderizan en todas partes, los corchetes [Red] recolorean el texto PDF, los rellenos de degradado de celda hacen round trip y se renderizan en HTML/PDF/visor, los paneles inmovilizados y el desplazamiento de paneles se leen de vuelta, DispBlanksAs/PlotVisibleOnly son propiedades de gráficos, los cuadros de comentarios se dimensionan mediante WidthPt/HeightPt/AutoSizeFromText, y ValidateNumberFormat valida cadenas de formato personalizadas
  • Búsqueda con semántica de Excel: FindText / ReplaceText soportan comodines (*, ?, escape con ~), coincidencia de celda completa, distinción de mayúsculas y minúsculas, búsqueda de texto de fórmula, escaneo hacia atrás, orden de escaneo por columnas, FindTextIn / ReplaceTextIn ventanados que confinan la búsqueda a un rango rectangular y un callback de reemplazo por coincidencia, agrupación con semántica de Excel vía AddSubtotals (filas SUBTOTAL etiquetadas, total general, niveles de esquema, saltos de página y modo replace), A1ToR1C1 y R1C1ToA1 convierten fórmulas entre los estilos de referencia A1 y R1C1 en ambas direcciones, más WriteAutoValue para sniffing de tipos de texto estilo Excel (fechas ISO, m/d/yyyy estadounidenses y d.m.yyyy europeas con horas AM/PM opcionales), agregación de rangos GetRangeStatistics, SortRange sin distinción de mayúsculas que preserva fórmulas con semántica de referencia de Excel (las partes $ se quedan, las referencias relativas se re-anclan), fragmentos HTML de una sola celda con GetHtmlFromCell, y fragmentos HTML como runs enriquecidos con SetCellFromHtml
  • Fondos de hoja: SetBackgroundImage crea imágenes en mosaico (tiling) en ambos motores de libros; XLSX preserva la propiedad de los medios del paquete entre copias de hojas, mientras que el modo clásico lee y escribe registros de fondo BIFF8 tipados con división continua de la carga útil, preservación exacta de formatos desconocidos, aislamiento de copias y conversión de formatos conocidos entre motores; el visor de libros muestra los fondos válidos detrás de las celdas sin relleno, mientras que la impresión, PDF, SVG, mapa de bits, metafile y ambos exportadores HTML mantienen los fondos desactivados por defecto y exponen ExportSheetBackgroundImages para salida explícita con continuidad de fase entre páginas y reutilización de recursos por sesión
  • Profundidad del motor de formato: las secciones condicionales de formato numérico ([>=100]) seleccionan por valor, las secciones de texto (@) sirven de plantilla para cadenas, TaggedText acepta <br>, <strong>/<em> y las formas con atributos <font color=...>, ConvertFormulasToValues ofrece un modo only-external en ambas fachadas, los bloques keep-together de columnas complementan a los de filas, los controles de formulario Spinner/ScrollBar clásicos se escriben en XLS, y el auto-ajuste de filas maneja celdas combinadas
  • Intercambio de portapapeles: PasteFromClipboard lee texto delimitado por tabuladores hacia celdas con promoción de tipos número/fecha/boolean y reconocimiento de fórmulas, mientras que el CopyToClipboard a nivel de rango publica tanto texto tabular Unicode como HTML con estilo, con fórmulas, celdas combinadas, vínculos, formato de visualización y preservación de delimitadores incrustados
  • Visor de libros editable: TXLSWorkbookViewer se vincula directamente a cualquiera de los dos motores de libros, carga archivos XLS, XLSX, XLSM, XLTX, XLTM u ODS, renderiza estilos y formatos condicionales sin materializar celdas XLSX dispersas, y agrega edición en el lugar consciente de celdas protegidas, entrada en la barra de fórmulas, recálculo automático, selección rectangular, eventos de referencia de fórmulas y undo/redo acotado en O(1)
  • Las cachés de PivotTable del XLS clásico usan flujos de almacenamiento independientes con identificadores únicos, referencias de origen de hoja o con nombre, nombres de hoja Unicode y lectura/escritura de caché encriptada; las extensiones de caché existentes conservan sus bytes originales al guardar
  • Diseñador de diseños de tablas dinámicas reutilizable: TXLSPivotDesigner expone las zonas disponibles, de filas, de columnas, de filtro y de valores, reordenamiento determinista de campos, agregación predeterminada consciente del tipo, cambios explícitos de agregación, validación del diseño y aplicación de resultados para modelos de tablas dinámicas XLS o XLSX
  • Controles de formulario clásicos: las hojas y las colecciones de formas pueden crear, enumerar, editar, eliminar y conservar en round trip controles de botón, botón de opción, checkbox, combo-box y list-box con etiquetas tipadas, estados de marcado, render plano o 3D, vinculaciones de macros, celdas vinculadas, rangos de origen, tipos de control y anclajes de celda
  • La inspección de gráficos del XLS clásico mediante GetChartModel decodifica la familia del gráfico, el estado 3-D, los títulos del gráfico y de los ejes, la leyenda, los ejes con su grupo de eje primario o secundario, los nombres de series, las categorías, las fórmulas de valores y las banderas de visualización de etiquetas de datos por serie con separadores, la vinculación por serie al grupo de gráfico primario o secundario, las referencias de categorías y valores con nombre o externas, el estilo de línea, relleno y marcador por serie con rellenos de color de tema transportados por la extensión GelFrame OfficeArt de color de tema (índice de color de tema más tinte), los parámetros completos de la escena 3-D del flujo del gráfico, los vínculos de gráficos dinámicos (nombre de la vista PivotTable de origen más la bandera de ocultar títulos de campos mediante los registros SXViewLink / PivotChartBits) y los objetos de gráfico incrustados anclados en hojas ordinarias mediante AddChartObject, junto con líneas de tendencia por serie (tipo de regresión, orden o período, intercepto automático o fijo, visualización de ecuación y R cuadrado, forecast y backcast, nombre mostrado) y barras de error (lado de dirección, tipo de valor, extremos, magnitud)
  • Imágenes tipadas de encabezado y pie de página XLSX mediante TXLSXWorksheet.HeaderFooterImages, cubriendo todas las ranuras izquierda, central y derecha en páginas impares, pares y primera, con bytes de imagen, formatos, títulos, dimensiones y márgenes en puntos, códigos automáticos de campo de imagen, copias de hojas y round trips de apertura/guardado seguros para relaciones junto con los comentarios
  • Efectos de imagen XLSX editables mediante TXLSXImage, incluidos bordes de recorte por porcentaje, transparencia, brillo, contraste, relleno stretch o tile, rotación por grados y preservación estructural del DrawingML importado no relacionado
  • Construcción avanzada de gráficos XLSX y round trips con grupos de trazado ordenados de columnas, barras, líneas, pastel, área, dispersión, bubble, radar, stock, superficie y 3D, gráficos de combinación reales con orden explícito de dibujo de grupos de trazado, pares de ejes primario y secundario, ejes de fechas y de series tipados, vistas 3D configurables, estilos de la galería de Excel, estilos de texto de título, leyenda y eje, diseños manuales de trazado, título, leyenda y título de eje, cachés de series dispersas de cadena o numéricas, cachés de categorías multinivel dispersas con resolución en vivo de rangos bidimensionales y preservación editable de extensiones y formato ChartML desconocidos
  • Parches de formato selectivos: TXLSXRange.ApplyFormatPatch copia solo los componentes solicitados de fuente, relleno, borde, formato numérico, alineación o protección, aplica tiling de patrones de origen más pequeños sobre destinos más grandes y deja los valores de las celdas intactos
  • Exportación de datos maestro-detalle: TDataToXLS.ReadDetailTables exporta recursivamente los datasets de detalle vinculados activos debajo de cada registro maestro, mientras que IndentDetailTables agrega una columna de sangría por nivel de relación y los ajustes de exportación heredados mantienen la jerarquía visualmente consistente; los eventos de registro y de valores write-ahead pueden filtrar registros y transformar valores de campos sin alterar los cursores de los datasets
  • Creación de WordArt: TXLSXWorksheet.AddWordArt crea texto DrawingML anclado a celdas con warp preestablecido configurable, color de relleno de texto y color de contorno, mientras los ciclos posteriores de apertura/guardado preservan el anclaje completo de la forma
  • Preservación de paquetes OOXML no soportados: las partes personalizadas alcanzables desde relaciones desconocidas de raíz de paquete, libro, hoja o dibujo retienen IDs de relación a prueba de colisiones, tipos de contenido, relaciones hijas, elección de compresión y bytes exactos de la carga útil en los round trips de apertura/guardado, con opción de exclusión y diagnósticos de partes retenidas en TXLSXWorkbook
  • Tablas estilo Excel con estilos, rango y criterios de filtro, estado de ordenación, identificadores de columna estables, etiquetas y funciones de fila de totales, fórmulas de columnas calculadas, fórmulas de fila de totales, ediciones de filas y columnas conscientes de la estructura y ayudantes de colección con round trip
  • Reglas tipadas de errores ignorados de hoja mediante TXLSXWorksheet.IgnoredErrors, cubriendo cada categoría de error estándar, referencias de celdas de varias áreas, copias de hojas, ediciones de filas y columnas y round trips de apertura/guardado
  • Autoría tipada del Scenario Manager de What-If mediante TXLSXWorksheet.Scenarios, incluidos escenarios activos y visibles, rangos de celdas cambiantes, estados bloqueado y oculto, comentarios del usuario, valores de entrada y formatos numéricos, copias de hojas, ediciones estructurales y round trips de apertura/guardado sin reparaciones
  • Tablas de datos What-If tipadas mediante TXLSXWorksheet.AddDataTable y DataTables, cubriendo las semánticas de entrada por fila, entrada por columna, dos variables, entrada eliminada, orden de cálculo, copia de hoja, edición estructural y round trip de SpreadsheetML
  • Conexiones de datos externas tipadas mediante TXLSXWorkbook.Connections y resultados de consultas de hoja mediante TXLSXWorksheet.QueryTables, incluidos política de refresh, credenciales, ajustes de base de datos, web y texto, valores de parámetros tipados exactos, vinculaciones de tablas y campos, ediciones estructurales, copias de hojas y round trips OOXML seguros para extensiones
  • Política completa de cálculo del libro mediante CalcMode, RefMode, ajustes de iteración, banderas de recálculo, control de precisión completa y ajustes de cálculo concurrente, con valores predeterminados del esquema y persistencia independiente de los no predeterminados, más memos opcionales RecalcLookupCache y RecalcAggregateCache que permiten que los escaneos repetidos de XLOOKUP/XMATCH, VLOOKUP/HLOOKUP/MATCH y SUMIF/COUNTIF/AVERAGEIF, más los SUM/AVERAGE/MIN/MAX/COUNT incondicionales sobre un mismo rango plano, reutilicen el primer resultado durante una pasada de recálculo, activándose solo cuando el grafo de dependencias es demostrablemente estable en referencias para que los resultados nunca difieran
  • Política de recálculo al guardar mediante RecalcBeforeSave (manual, if-dirty, always) más inspección del estado dirty con RecalcNeeded y recuperación del valor de una sola celda con RecalcCell tras un recálculo completo
  • Marcadores de posición de valores de reporte con fallbacks {{name;default}}, expresiones dbvalue/dbcount/tonumber/ref sobre un DataContext registrado y una sesión de datos aislada por ejecución, celdas {{=formula(...)}} puras escritas como fórmulas vivas, y directivas estructurales {{#imgsize}}, {{#comment}}, {{#html}}, {{#sheetvisible}}, {{#deletesheet}}
  • Tablas de usuario diferidas tipadas mediante celdas exactas {{#usertable(alias, logicalName, providerKey, name=expression)}}, con verificaciones de sintaxis en tiempo de compilación, preflight estático sin resolvers, parámetros tipados dinámicos, exigencia de proveedores registrados, diagnósticos de conflictos sin distinción de mayúsculas, límites de declaración y carga al primer uso mediante dbvalue o dbcount; TXLSReportGenerator.DataContext y TXLSReportTemplateChecker.DataContext llevan el mismo registro a la generación y la validación
  • Modelado de datos de reportes mediante combinadores diferidos Filter, Sort multiclave estable y Distinct; los adaptadores FromDataSet y FromObjects vinculan datasets abiertos y listas de objetos con propiedades publicadas como tablas de reporte; las bandas RunBidirectional dan a cada fila maestra sus propias columnas manejadas por los hijos; PreprocessAndRun permite que las plantillas se auto-modifiquen contra los datos antes del llenado final
  • Opciones de pegado del portapapeles (solo valores, insertar filas/columnas) en ambos motores de libros, y diagnósticos OnSkippedRecord en el lector directo, el cursor de filas y el forward reader que exponen referencias de celdas mal formadas omitidas y escaneos de hojas BIFF abortados
  • Los round trips de protección de revisión compartida del XLS clásico mediante SharedRevisionProtected y SharedRevisionPasswordHash, y los reportes manejan la encriptación de extremo a extremo: las plantillas encriptadas se abren por contraseña y RunToEncryptedFile emite un resultado encriptado en un solo paso
  • Los CopyRangeTo/CloneRangeTo entre libros remapean estilos de celda por valor entre pools, y los CreatedDate, LastSavedDate, RevisionNumber y EditTimeMinutes del XLS clásico hacen round trip a través del flujo de resumen OLE
  • El renderizado de gráficos consume el GapWidth, el Overlap y el agrupamiento apilado / apilado por porcentaje del grupo de trazado de barras, de modo que los gráficos de barras y columnas renderizados coinciden con la semántica de diseño del modelo
  • Los gráficos conservan en round trip el formato del chart-space (esquinas redondeadas, colores de fondo/borde/área de trazado) y los cinco interruptores de protección de gráficos, con el renderizador consumiendo los colores; el Smooth a nivel de serie y los colores de relleno/borde de marcadores hacen round trip y se renderizan como segmentos curvos; los ejes transportan el modo de cruce y los estilos de marcas, y AutoTitleDeleted suprime los títulos derivados
  • TXLSPDFWriter construye PDFs sin ninguna hoja de cálculo: tamaño de página explícito, flujo multipágina, rectángulos/líneas/elipses, texto medido, transforms, recorte y control del estado gráfico
  • AutoFit ofrece un flujo de dos fases MarkSheet/ApplyMarked con mediciones pendientes inspeccionables, límites de la región de ajuste, IgnoreStrings, KeepHeightAutomatic, un piso DefaultRowHeightVisual y un FitWorkbook de una sola llamada
  • Las fuentes Unicode PDF soportan políticas de incrustación automática, de subconjunto requerido, de programa completo y de solo mapa, programas OpenType CFF independientes, posicionamiento GPOS/kern compartido para medición y dibujo, un callback OnFontEmbed previo a la resolución y un resolver de familia/estilo OnGetFontDirectories con caché recursiva; la salida PDF/A sigue requiriendo programas de fuentes incrustados
  • Ayudantes de colección para buscar, eliminar y reordenar hojas, tablas, gráficos, imágenes, rangos combinados y vínculos externos por nombre o posición
  • Creación de gráficos de una sola llamada desde un rango de datos: AddChartFromRange y los atajos AddColumnChart / AddBarChart / AddLineChart / AddPieChart / AddAreaChart derivan series y categorías automáticamente de un bloque de datos, como el insertar-gráfico-desde-selección de Excel
  • Inserción y eliminación de filas y columnas que ajusta fórmulas, columnas de tablas y sus metadatos de filtro u ordenación, invalida las referencias estructuradas de columnas de tabla eliminadas entre los consumidores de fórmulas, particiona los formatos condicionales de valor de celda y de expresión más las validaciones de datos cuando las áreas editadas requieren anclajes de fórmula distintos, mantiene intactos los dominios agregados de formato condicional, y mueve automáticamente nombres definidos, hipervínculos, series de gráficos incluidos tamaños de bubble, y anclajes de imágenes, gráficos, cuadros de texto y WordArt
  • Cálculo de fórmulas que comparte el evaluador del XLS clásico con registros de funciones de usuario globales del proceso y locales del libro, semántica de invalidación local del libro, invocación de manejadores paralela y sin bloqueos, operadores de matriz broadcast y errores por celda, matrices multivariables completas de LINEST / LOGEST, predicciones con forma de TREND / GROWTH, cobertura de funciones de texto, fecha, día laboral, ingeniería/conversión de base, bit a bit, estadísticas, agregados y matemáticas, inspección ISFORMULA que preserva referencias sin recalcular el destino, XMATCH / XLOOKUP binarios logarítmicos, detección de argumentos opcionales ISOMITTED, conversión de matrices ARRAYTOTEXT / VALUETOTEXT, cálculos validados de XIRR / XNPV, tiempos de inversión y tasas de crecimiento PDURATION / RRI, depreciación VDB de períodos fraccionarios y callbacks de funciones personalizadas OnUserFunction; AnalyzeFormulaIssues proporciona un preflight estructurado para funciones faltantes, referencias externas y componentes exactos de dependencias circulares
  • Las referencias estructuradas en forma de fila actual (Table[@Col]) se evalúan contra la propia fila de la celda de la fórmula en recálculo serial y paralelo
  • El análisis de dependencias expande los nombres definidos por fórmulas con ámbito y anidados, incluidas las referencias de varias áreas, y usa guardas de ciclos solo cuando la resolución estática de dependencias es imposible
  • Las fórmulas compartidas creadas por Excel se abren con cada seguidor expandido a su expresión correcta relativa a celda en las rutas de libro completo, de lector directo en streaming y de cursor de filas, mientras que los anclajes y seguidores de matrices CSE sobreviven a ediciones estructurales seguras de matrices completas, copias de rangos completos, duplicación de hojas y copias de hojas entre libros
  • Las matrices dinámicas pueden autorarse con TXLSXRange.SetDynamicArrayFormula, retienen los rangos de fórmulas y los metadatos XLDAPR a través de ciclos de apertura y guardado, comparten un registro de metadatos deduplicado entre raíces, remapean ese registro durante copias entre libros y lo eliminan después de que la última raíz se limpia
  • La composición de matrices calculadas incluye TRANSPOSE tipado, multiplicación de matrices computada, determinantes e inversión, selectores negativos y de vector para CHOOSECOLS / CHOOSEROWS, vectores de búsqueda y peticiones de matriz computados para XLOOKUP / XMATCH / MATCH, y operaciones de apilamiento y remodelado con límites de pasos de evaluación y de memoria de matrices
  • Autoría de controles de formulario en hojas XLSX (AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox) con formas VML, partes ctrlProps y round trip verbatim de archivos con controles
  • Evaluación en vivo entre libros XLSX a través de la fachada ExternalWorkspace que preserva rutas y de la RegisterExternalWorkbook compatible: los destinos y extensiones de relaciones completas permanecen diferenciados, los alias ambiguos fallan explícitamente, la destrucción del destino revoca de forma segura el adaptador en vivo y las cachés tipadas locales del archivo siguen siendo el fallback sin acceso implícito a archivos ni a la red
  • Comparación de libros mediante TXLSXWorkbookCompare que reporta diferencias de hoja, celda, fórmula y combinación como una lista estructurada o un reporte de una línea por diferencia
  • Generación de código a partir de libros mediante TXLSCodeGen (dialectos Delphi y C++Builder) y validación de importación de reglas de columnas mediante TXLSImportCheck con anotación de fuente roja y comentarios más compactación keep-only-violations
  • Los registros de hoja XLS no reconocidos hacen round trip verbatim — los registros específicos de proveedor o de especificaciones más nuevas se capturan al leer y se reproducen al guardar
  • Formas de geometría predefinida mediante AddPresetShape — cualquier token ST_ShapeType de OOXML viaja en el dibujo verbatim y hace round trip
  • Procesamiento de plantillas: ApplyTemplate sustituye los marcadores de posición {{key}} en toda la hoja y FillTemplateBand clona bloques de plantilla por registro con traducción de fórmulas, formatos condicionales dependientes, validaciones, vínculos, comentarios, imágenes, gráficos, clonación de combinaciones y condicionales #skip a nivel de fila; CloneRangeTo expone la misma ruta de copia consciente de dependencias con cargas útiles seleccionables; TXLSCompiledReportTemplate compila una sola vez las ubicaciones de marcadores y los fragmentos de texto para ejecuciones repetidas a través de celdas, texto enriquecido, comentarios, hipervínculos, texto de dibujos, encabezados y pies de página, nombres de hoja, nombres definidos y propiedades del documento sin re-escanear el libro, admite diagnósticos de preflight direccionados, validación estricta antes de la mutación y hojas de diagnósticos; TXLSCompiledReportRunner agrega progreso a nivel de destino, cancelación, conteos aplicados deterministas, estado reutilizable de finalización o fallo, eventos emparejados de ciclo de vida de libro y hoja, instantáneas recuperables de problemas y salida atómica a flujo, archivo o archivo encriptado; TXLSReportGenerator agrega eventos de lectura de plantillas, orígenes de libro, archivo, flujo y archivo encriptado más modificación en el lugar o por clonación atómica; IXLSReportTable, IXLSReportCursor, proveedores y resolvers diferidos por ejecución e índices de relaciones de claves compuestas suministran fuentes de datos virtuales o en memoria reutilizables sin forzar la carga de tablas sin referencias, mientras que TXLSReportTableFactory compone vistas top, proyectadas, contadas, mínimas, agregadas, unidas, divididas y con hash join sin copiar cargas útiles completas de filas intermedias; galerías ejecutables de Delphi y C++Builder demuestran la misma ruta de contexto de datos, runner compilado, hoja de diagnósticos, LastResult y RunToFile
  • Bandas de reporte estructurales con nombre: TXLSCompiledReportBand resuelve un nombre definido rectangular exacto con ámbito de libro o de hoja y lo expande hacia abajo, a la derecha o por ambos ejes a partir de instantáneas acotadas de filas y columnas de una sola pasada, preservando tipos de valores, fórmulas de referencias mixtas, combinaciones, reglas, validaciones, hipervínculos, comentarios, dibujos y metadatos explícitos de diseño de filas o columnas, mientras rechaza las estructuras parciales no soportadas antes de la mutación
  • Las copias repetidas de rangos y bandas de reporte reutilizan las búsquedas por sufijo de nombres definidos con ámbito, y conservan la nomenclatura del primer nombre disponible después de eliminar, renombrar o cambiar el ámbito
  • Las bandas de reporte de tablas de Excel expandibles mediante TXLSCompiledTableReportBand usan una instantánea acotada de cursor para expandir una única fila de plantilla de datos conservando encabezados, totales, rangos de tabla y AutoFilter, estado de filtro y ordenación, metadatos de columnas, fórmulas calculadas y de totales, estilos, referencias estructuradas y objetos de hoja dependientes; los resultados vacíos representables eliminan la fila de plantilla de datos, mientras que las tablas respaldadas por consultas y los diseños inseguros se rechazan antes de las escrituras estructurales
  • Las bandas de reporte de rangos y de tablas de Excel comparten ErrorMode, StrictDataAccess, RuntimeLimits y diagnósticos inmutables de LastResult; WriteAndContinue almacena un fallo de fila explícitamente recuperable como texto literal con su fila de entrada y su dirección real de salida, y luego continúa con los destinos y filas restantes, mientras que los fallos fatales estructurales y de recursos hacen rollback de la expansión
  • Escaneo de celdas y filas, búsqueda y reemplazo de plantillas y escritura masiva
  • Gestión central de archivos temporales de trabajo (los archivos temp registrados se barren al finalizar), verificación de descifrado posterior a la escritura VerifyEncryptedSave opcional, y constantes de límites de cuadrícula por formato con un evento OnExportLimit en el exportador de datasets
  • Ayudantes de validación de datos con dropdowns de lista de una sola llamada desde un arreglo de cadenas, modos IME tipados compartidos entre XLS clásico y XLSX, fórmulas de tablas que retienen atributos de matriz independientes, extensiones de formato condicional, exportación HTML configurable con clases de estilo CSS centralizadas, y guardado y carga encriptados con AES — ECMA-376 Standard Encryption (AES-128) con aceleración AES-NI, más lectura de la Agile Encryption predeterminada de Excel (derivación de clave SHA-512, AES-128/192/256)
  • Los exportadores HTML clásico y XLSX usan instantáneas de geometría xlsrgbHtml propiedad de la operación para convertir anchos de caracteres a longitudes CSS fijas mediante métricas de ancho máximo de dígitos de la fuente Normal, reutilizan una caché acotada por operación de varias hojas, exponen la instantánea activa para diagnósticos y preservan las dimensiones almacenadas de la hoja
  • Evaluación preparada de formatos condicionales XLSX con capas de prioridad y StopIfTrue, fórmulas relativas, estadísticas compartidas de varias áreas, reglas Top/Bottom y de promedio, valores duplicados y únicos, períodos de fechas relativos, estilos diferenciales conscientes del tema, escalas de colores, barras de datos direccionales y todas las familias de icon sets integradas
  • Apertura XLSX tolerante: los prefijos de namespace se normalizan durante el análisis, de modo que hojas, gráficos, dibujos y propiedades del documento vinculados a namespaces no canónicos o estrictos de ISO 29500 cargan como archivos ordinarios, y las hojas cuyas filas o celdas omiten atributos de posición infieren cada celda después de su predecesora en orden de escaneo
  • Salida Open XML estricta mediante StrictOOXML: el paquete XLSX completo — hojas, cadenas compartidas, estilos, tema, dibujos, gráficos, comentarios, propiedades del documento y partes preservadas — se guarda en conformidad estricta ISO/IEC 29500 con los vocabularios purl.oclc.org, y los tipos de relaciones estrictos se resuelven al abrir igual que los transicionales
  • La apertura XLSX de libro completo transmite las entradas ZIP de hojas directamente a inflaters y readers XML locales de cada worker, sin retener copias de staging de XML de hojas inflado y limitando la memoria transitoria de entrada de hojas a los workers de análisis activos
  • Lector directo de flujo (TXLSDirectReader) que escanea celda por celda .xlsx / .xlsm con eventos por celda y por hoja y una huella de memoria casi constante para libros muy grandes, reportando el valor de cada celda, su tipo, el texto de la fórmula y el índice de estilo con detección de fecha opcional, aborto temprano que se propaga hacia la entrada ZIP y la descompresión, pushdown de rangos de filas y proyección de columnas en tiempo constante antes de decodificar valores; los eventos de diseño opcionales exponen dimensiones de la hoja, tamaños predeterminados, tramos de columnas, metadatos de filas, paneles inmovilizados o divididos y rangos combinados antes de las celdas dependientes; el análisis paralelo acotado transmite inflaters de hojas locales del worker hacia colas productor-consumidor con presupuestos independientes preservando el orden de callbacks en el hilo llamador, la preservación de rich strings expone runs con formato, rangos fonéticos y propiedades fonéticas, y el almacén acotado de cadenas compartidas mantiene en memoria las tablas pequeñas mientras migra las tablas grandes y las cargas útiles enriquecidas a almacenamiento temporal indexado con borrado al cerrar
  • Escritor directo de flujo (TXLSDirectWriter) que produce libros .xlsx celda por celda, emitiendo cada hoja directamente al paquete a medida que llegan las filas, de modo que los archivos muy grandes se generan con una huella de memoria casi constante, cubriendo cadenas en línea o deduplicadas compartidas, rich strings con runs con formato y fonéticos, números, booleanos, fechas, fórmulas, estilos de celda reutilizables a nivel de paquete con manejadores clonados, fuentes/rellenos/bordes/formatos numéricos deduplicados, énfasis de fuente, subrayado, contorno y sombra, 19 patrones de relleno, 14 estilos de borde en cinco lados, alineación horizontal y vertical, ajuste de línea, contracción, sangría, rotación, prefijos de comillas, protección locked/hidden, formatos numéricos integrados y personalizados, anchos de columna, altos de fila, filas y columnas ocultas, rangos combinados, rangos AutoFilter de hojas y tablas con filtros de valor, blanco, grupos de fechas, personalizados, dinámicos, top/bottom y estados de ordenación, protección de hoja con permisos detallados, metadatos de contraseñas legados o modernos y rangos protegidos editables, protección de estructura del libro y de ventanas, paneles inmovilizados, colores de pestañas de hojas, vistas de hoja de derecha a izquierda, interruptores de visualización de la vista de hoja, márgenes de página, texto de encabezado/pie de página, opciones de impresión, configuración de página, ajustes de ajuste-a-página, saltos de página manuales, hipervínculos de hojas a través de varias hojas, nombres definidos del libro y locales de hoja, rangos definidos generados, áreas de impresión, filas o columnas de título de impresión, validaciones de datos con mensajes y alertas de error, formato condicional con ocho operadores de valor de celda, expresiones, coincidencia de texto, ranking top/bottom, promedio, predicados duplicado/único, blanco/error, barras de datos, escalas de dos y tres colores, 17 familias de icon sets, estilos diferenciales de fuente/relleno, control de prioridades y stop-if-true, partes de tablas de Excel con nombres de columnas, banderas de fila de encabezado/totales, comentarios de tabla, etiquetas y funciones de columnas de la fila de totales, fórmulas de columnas calculadas, fórmulas de fila de totales y opciones de visualización de estilo de tabla, más canales laterales de la hoja actual para comentarios clásicos, fuentes de imágenes en streaming, DrawingML anclado, gráficos respaldados por fórmulas tipados y ChartML proporcionado por el llamador
  • La continuación por desborde opcional (AutoSplitRows) divide las exportaciones en hojas <name>_2 cuando llega una fila más allá del límite de la hoja, y FillTableCalculatedColumn empuja la fórmula de una columna de tabla a cada fila de datos igual que lo hace la autoría de Excel
  • Parcheo de hojas en el lugar mediante BeginPatch: el escritor en streaming reescribe una hoja de un paquete existente mientras cada parte intacta se copia con sus bytes comprimidos verbatim — reemplace una hoja de datos o agregue una nueva sin re-autorar la plantilla; la inicialización y la finalización fallidas liberan los manejadores de las fuentes, el llamador conserva la responsabilidad de los registros temporales de fuentes, y el escritor puede reutilizarse después de un fallo de inicialización
  • Objetos cámara mediante AddCamera: imágenes de instantánea en vivo vinculadas a un rango de celdas, siguiendo la extensión de dibujo de la herramienta cámara documentada; la vinculación hace round trip en guardado y reapertura
  • Adjuntos PDF mediante AddAttachment — los archivos viajan en la exportación como entradas /EmbeddedFiles con un árbol de nombres, y IXLSPDFAttachmentSource puede proporcionar cada carga útil de forma diferida una vez por guardado a través de un spool acotado; el ensamblado final transmite los objetos secuencialmente al destino, de modo que las cargas útiles de adjuntos se copian en bloques fijos con un objeto de longitud indirecto y la memoria pico se mantiene plana
  • Salida explícita PDF/A-1a, 1b, 2a, 2b, 3a y 3b mediante PDFAProfile, incluidas identificación específica del perfil, gestión de color, etiquetado, adjuntos y reglas de validación atómicas; UsePDFA sigue siendo un interruptor de compatibilidad para PDF/A-2b
  • La exportación PDF corre en un diseño clásico o en un diseño PDF 1.5 opcional con flujos de objetos comprimidos y un flujo de referencias cruzadas binario (UseXRefStream) para archivos más pequeños
  • La exportación PDF soporta callbacks de progreso begin, page y end reutilizables con cancelación y sin confirmación parcial del flujo, más anotaciones de comentarios Unicode posicionadas por celda opcionales que pueden coexistir con las páginas de comentarios al final
  • Los degradados y la transparencia PDF usan shadings nativos axiales o radiales con funciones multi-stop cosidas, máscaras alfa por parada, patrones de relleno de celda, sombras de imagen, recorte a nivel de página y cachés de recursos a nivel de documento; los perfiles PDF/A seleccionados aplican sus restricciones gráficas antes de confirmar la salida
  • Las cadenas de fallback de fuentes PDF conscientes del estilo mediante SetFontFallbackChain, AddFontFallback y ClearFontFallbackChains seleccionan fuentes incrustadas por familia de origen, nivel de estilo y cobertura de glifos, almacenan en caché las fuentes y selecciones cargadas, preservan escalares suplementarios y clústeres de grafemas entre runs, mantienen distintas las secuencias Unicode de glifos compartidos mediante mapeos CID y rechazan atómicamente la salida PDF/A antes que usar una fuente sin incrustar
  • TXLSPageImageExporter construye la paginación una sola vez y exporta incrementalmente páginas XLS o XLSX seleccionadas como PNG o JPEG con DPI, escala, calidad, progreso, cancelación y vida útil del bitmap por página configurables; ExportRange escribe un rectángulo de celdas ajustado y los eventos before/after paint exponen el canvas real de la página a través de un contexto de solo lectura con límites en píxeles, tamaño de página, resolución, escala, números de página y la hoja de origen, disparándose exactamente una vez por frame renderizado, incluidos los frames de TIFF multipágina
  • TXLSCellImageExporter mide, renderiza y guarda cualquier rectángulo de celdas clásico o XLSX como una imagen compacta sin artefactos de paginación, con resolución, escala, formato y calidad JPEG configurables, fondos PNG transparentes o con color, interruptores independientes de objetos, líneas de cuadrícula y bordes de celda, presupuestos de píxeles y bytes validados antes de la asignación, y guardado a archivo mediante un reemplazo atómico en la misma carpeta que nunca daña un destino existente si falla
  • La exportación ODS traduce a OpenFormula las fórmulas escalares soportadas, las referencias A1 calificadas, la validación Boolean personalizada, los límites con valor de fórmula y las fuentes de lista; los dialectos de fórmulas de celda no soportados conservan el fallback de compatibilidad, y las definiciones y referencias de validación no soportadas se omiten juntas
  • Los altos de fila repetidos de ODS y los estilos de celdas en blanco usan rangos compactos; la salida ODS retiene los altos de fila y las colas con estilo repetidas, mientras que las ediciones de una sola fila, el borrado, la copia de hojas, los desplazamientos de filas, el tiling y la exportación XLSX preservan los altos efectivos
  • El suministro de filas en modo pull (OnNeedRow + RunRows) maneja el escritor en streaming desde un pipeline de datos de una fila a la vez
  • Las hojas de derecha a izquierda se reflejan en la exportación PDF y se invierten mediante dir="rtl" en HTML, completando el round trip de la bandera de visualización
  • El modo de visualización de ceros de la hoja oculta el cero numérico real, incluidos resultados de fórmulas, valores de moneda y el cero base de fechas, en visores y exportaciones visuales antes del formato numérico o la medición de texto; el modo de visualización de fórmulas tiene precedencia, los visuales de formato condicional y los hipervínculos permanecen activos, y los valores almacenados, el texto formateado público, la salida CSV y la salida ODS conservan sus contratos existentes
  • El modo de streaming con anchos rastreados opcional (TrackColumnWidths) prepara la hoja en memoria para que el archivo terminado lleve la pista <dimension> del rango usado y anchos de columna dimensionados al valor más largo visto por columna, aproximando el autofit para datos que solo se conocen mientras fluyen
  • Ediciones estructurales de filas y columnas XLSX seguras para referencias que actualizan fórmulas, nombres definidos, reglas, vínculos, dibujos, ajustes de impresión, rangos protegidos, anclajes de comentarios clásicos y encadenados, sparklines, fuentes y vistas tipadas de tablas dinámicas y referencias reconocibles de extensiones preservadas en una única transacción protegida, con una API ordenada de participantes para metadatos propiedad de la aplicación
  • Árbol XML compacto de acceso aleatorio (TSimpleDomReader) que se construye desde el mismo pull reader en una pasada para consultar metadatos del libro, relaciones, temas y otras partes del paquete por ruta QName o de nombre local con distinción de mayúsculas
  • Evaluación de fórmulas paso a paso mediante TXLSFormulaTracer con transiciones exactas de la pila de operandos, más diagnóstico interactivo mediante TXLSFormulaDebugger que expone nodos analizados, valores de operandos, orden de evaluación, dependencias de celdas y rangos, elecciones de ramas diferidas, expresiones omitidas y orígenes de errores propagados
Versión 2.384.120

Conjunto completo de capacidades de libros, reportes y renderizado

La versión actual amplía las API de libros, reportes y renderizado compatibles con rutas de ejecución acotadas y reglas explícitas de seguridad de formato

Formatos de libro y cálculo

  • Mapas XML editables y vinculaciones de esquema de una sola celda mediante TXLSXXmlMaps y TXLSXXmlCellBindings, incluidos los viajes de ida y vuelta de relaciones y la validación previa al guardado
  • Estado de libro multiventana ordenado mediante TXLSXWorkbookViews, con pestañas activas, geometría, visibilidad, banderas de visualización, extensiones y reasignación segura de índices de hoja
  • Selecciones de varias áreas y celdas activas independientes por panel para XLS y XLSX, con reasignación estructural y rechazo atómico de rangos no válidos
  • Tokens de fórmula sin pérdida, propiedad del llamador, mediante TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText y SetFormulaTokens
  • La congelación de fórmulas del XLS clásico clasifica las referencias BIFF compiladas sin descompilar el texto de la fórmula, convierte únicamente las referencias confirmadas a libros externos en modo OnlyExternal, conserva las fórmulas dudosas y congela los grupos de matrices de forma atómica con los resultados de cadena literal intactos
  • Las fórmulas de libros externos en XLSX usan un único lexer numérico consciente de la gramática para conversión estricta, diagnósticos, recálculo, copia entre libros y guardados generados, y la compatibilidad de nombres de archivo solo se normaliza cuando coincide exactamente un destino registrado
  • TXLSXExternalLink expone los identificadores de relación de origen, las ranuras con base uno y los tipos de vínculo libro, DDE, OLE o sin resolver, mientras que los cambios de destino y de la lista de hojas invalidan las vinculaciones externas compiladas mediante una actualización de revisión en tiempo constante
  • ConvertExternalDefinedNamesToRefErrors reemplaza de forma atómica las definiciones confirmadas de libros externos por #REF! nativo en XLS clásico y XLSX, preservando la identidad del nombre, el ámbito, la visibilidad, los comentarios, los metadatos de macros y de funciones integradas, los atributos XLSX desconocidos, las fórmulas comunes de celda y las partes de vínculos externos
  • Ordenación estable por filas o columnas con TXLSSortFormulaMode, claves horizontales, comparadores personalizados y la opción entre preservar las dependencias lógicas o mover físicamente las fórmulas
  • Fuentes BIFF2 a BIFF4 editables, formatos numéricos, estilos XF y fórmulas que se convierten a los modelos actuales de libro y de cálculo durante la carga
  • Una única fachada de devoluciones de llamada TXLSForwardReader para XLS, XLSX, CSV y TSV, con proyección a nivel de backend, límites de fila, estado de presencia de fórmula, supresión opcional del texto de fórmula, detección de formato y cancelación
  • Vistas personalizadas tipadas para paneles, selecciones, filtros, configuración de página y saltos de página, mientras los registros BIFF desconocidos conservan sus cargas útiles originales
  • Propiedades OLAP tipadas, selectores de tablas web, campos de ancho fijo y parámetros de conexión con el contenido de extensión preservado
  • Diagnósticos de AnalyzeFormulaIssues para funciones faltantes, referencias a libros externos y componentes exactos de dependencias circulares
  • Registros de UDF globales y locales del libro seguros para hilos, con invalidación local, búsqueda de O(1) promedio e invocación de manejadores fuera de los bloqueos
  • XLSBidiVisualOrder para texto árabe o hebreo mezclado con texto latino, dígitos, marcas combinantes y puntuación en espejo, sin alterar el texto lógico de la celda
  • Estrategias de Autoajuste para celdas combinadas que asignan el crecimiento al primer o al último miembro, o lo reparten a lo largo del área combinada, tanto en XLS como en XLSX
  • Preservación tipada de hojas de macro de Excel 4, más los hallazgos de solo inspección de ScanMacroCommands con direcciones de hoja
  • Soporte de cálculo para ISOMITTED, ARRAYTOTEXT, VALUETOTEXT, PDURATION y RRI, con almacenamiento y comportamiento de errores compatibles con Excel
  • Resúmenes agrupados de hoja mediante TXLSXWorksheet.Subtotal, con fórmulas insertadas, un total general configurable, el formato visible heredado y la jerarquía de esquema
  • Inspección del estilo efectivo sin materialización mediante GetCellVisibleFormat, más validación a nivel de candidato y confirmación atómica mediante CheckDataValidation
  • Las aperturas de solo metadatos y de hojas seleccionadas del XLS clásico usan desfases BOUNDSHEET, almacenamiento acotado de desbordes del SST y un contrato único de lectura hacia adelante compartido con XLSX, CSV y TSV
  • Las matrices dinámicas fluyen directamente hacia agregados escalares, las búsquedas repetidas reutilizan cachés de rango incrementales tipadas y los tokens de fórmula inmutables comparten objetos sin estado entre compilaciones
  • La materialización Pivot local nativa soporta cuadrículas de reporte compactas, tabulares y de esquema, etiquetas repetidas, posiciones de subtotal predeterminadas y múltiples ejes de medidas con celdas en caché y metadatos de cable verificados contra la apertura en Excel y el refresh explícito
  • Los cálculos de visualización Pivot nativos incluyen comparaciones contra el item base, totales acumulados, porcentajes de fila y de columna, porcentajes del padre, porcentajes acumulados y rankings densos, con salida nativa en caché y metadatos de refresh
  • REGEXTEST, REGEXEXTRACT y REGEXREPLACE usan el backend UTF-16 incluido con presupuestos de fórmula compartidos; GROUPBY y PIVOTBY soportan callbacks con ámbito, múltiples medidas, filtros, ordenación, totales jerárquicos y porcentajes relativos
  • El borrado de rangos y el pegado de texto Unicode usan una única transacción acotada de undo/redo con comprobaciones de protección, instantáneas dispersas de contenido y metadatos modernos de celda restaurados
  • Las imágenes PNG/JPEG locales tipadas dentro de la celda y los formatos Checkbox dispersos de celda, fila y columna retienen metadatos de accesibilidad, precedencia, estilos, propiedad del contenido y ediciones estructurales a través de round trips XLSX
  • Las lecturas y escrituras XLSB ampliadas retienen fórmulas y cachés soportadas, nombres, combinaciones, hipervínculos, paneles, tablas y filtros, con preflight explícito de características no soportadas
  • Las API de libros nativas de Linux x64 y macOS ARM64 cargan, editan, calculan y guardan archivos XLSX, XLSB y ODS soportados usando servicios reales de la plataforma
  • Los libros BIFF8 clásicos nativos soportan edición, cálculo, contenedores compuestos anidados grandes, propiedades del documento y salida estándar RC4 o CryptoAPI de 128 bits en Linux x64 y macOS ARM64
  • La salida Pivot nativa soporta agrupación numérica, de fechas y manual, y once funciones de subtotal personalizadas en los diseños de reporte soportados
  • La comparación de libros retiene tipos de valor estrictos y enteros grandes exactos, tolerancias numéricas finitas, cachés de fórmulas opcionales, estilos efectivos, geometría, texto enriquecido y definiciones acotadas de características soportadas, incluido el estado local de Pivot, Slicer y Timeline, preservando el almacenamiento disperso y los resultados previos ante fallos
  • ODS preserva el texto y los autores de notas ordinarias, los filtros de valor y personalizados representables y la protección equivalente sin contraseña, con reportes precisos de pérdidas de conversión; los guardados a flujo cancelados preservan el destino, y los guardados en posiciones distintas de cero retienen desfases ZIP válidos
  • FORMULATEXT lee las expresiones almacenadas sin evaluar su destino, y GETPIVOTDATA consulta agregados visibles soportados desde cachés locales separadas acotadas en XLS, XLSX y evaluadores aislados; los valores en línea de caché nativos de XLS y las referencias de filtros de reporte retienen sus identidades, mientras que las cachés incompletas o no soportadas producen errores explícitos
  • INDEX, SORT y UNIQUE aceptan matrices computadas y constantes, de modo que el filtrado, la ordenación, la deduplicación y la extracción de filas o columnas se componen directamente con el redimensionamiento automático de spill XLSX y el cálculo CSE de rango fijo; INDEX acepta matrices de selectores de fila, columna y área con broadcasting consciente de la orientación y errores tipados por celda, acepta el área 1 para un origen calculado, y retiene la identidad soportada de referencias escalares de varias áreas a través de nombres definidos, LET y CHOOSE escalar; consulte selección de áreas con INDEX para ejemplos y límites
  • Los estilos con nombre conservan las partes de formato vinculadas y las invalidaciones locales, mientras que cada estilo de tabla integrado claro, medio y oscuro se resuelve en el formato efectivo que usan las rutas de edición y exportación
  • Una fachada de dibujo unificada agrupa o desagrupa objetos DrawingML y reordena imágenes, gráficos, cuadros de texto, anclajes preservados y grupos anidados mezclados sin perder relaciones
  • TXLSFormatSnapshot captura un formato clásico completo con independencia de su libro de origen, y IXLSRange.ApplyFormat lo aplica a celdas, filas o columnas
  • Los libros XLS clásico y XLSX exponen las mismas API en streaming de SaveSemanticSnapshot y ComputeSemanticHash con SHA-256 incremental, con perfiles Content y SecurityComplete más opciones explícitas de estado del visor, metadatos volátiles y caché de fórmulas
  • Las nuevas hojas XLSX mantienen escrituras masivas tipadas compatibles por filas en almacenamiento RLE empaquetado, responden a consultas de existencia y de estadísticas de almacenamiento sin materializar, y se expanden una sola vez a objetos de celda estables solo cuando el acceso a nivel de objeto lo requiere
  • Los almacenes de celdas y las colecciones de hojas del XLS clásico y de XLSX exponen generaciones estructurales independientes, de modo que los lectores de larga duración pueden detectar cambios de topología sin tratar las ediciones de valor, fórmula, formato, renombrado o activación como invalidaciones estructurales
  • Los manejadores de celdas mantienen el estado de estilo predeterminado sin asignaciones de memoria, y las celdas en blanco idénticas de solo estilo comparten una carga útil con conteo de referencias y aislamiento copy-on-write para ediciones locales posteriores, con bytes ahorrados medibles en las estadísticas de almacenamiento

Reportes compilados y composición de datos

  • TXLSCompiledReportTemplate compila una sola vez los marcadores de posición entre celdas, texto enriquecido, comentarios, comentarios encadenados, hipervínculos, dibujos, gráficos, encabezados, pies de página, nombres de hoja, nombres definidos y propiedades del documento
  • TXLSCompiledReportBand expande bandas de filas, columnas y tablas cruzadas a partir de nombres definidos, con instantáneas de datos acotadas de una sola pasada, y preserva fórmulas, objetos dependientes y metadatos explícitos de ejes
  • TXLSCompiledTableReportBand expande plantillas de una fila de tablas de Excel conservando encabezados, totales, filtros, ordenación, fórmulas, estilos, referencias estructuradas y resultados seguros de cero filas reales
  • IXLSReportTable, IXLSReportCursor, IXLSReportRandomAccessTable y TXLSReportMemoryTable proporcionan un único contrato para fuentes virtuales y en memoria
  • TXLSReportRelationIndex construye una sola vez depósitos exactos y tipados de claves compuestas para búsquedas maestro-detalle de O(1) promedio sin copiar cargas útiles de filas
  • IXLSReportTableProvider y TXLSReportDataContext registran tablas explícitas y diferidas, mientras que BeginRun crea una IXLSReportDataSession aislada con búsqueda hash sin distinción de mayúsculas y minúsculas, caché negativa, almacenamiento en caché determinista de errores de proveedor y detección inmediata de recursión con el mismo alias; las plantillas compiladas, los runners, las bandas de rango y las bandas de tablas de Excel usan automáticamente una sesión por ejecución lógica, las dos pasadas de PreprocessAndRun comparten la misma instantánea, las ejecuciones concurrentes permanecen aisladas y cada ruta de éxito, cancelación o error libera su instantánea antes de devolver el control
  • TXLSReportDataRequest y IXLSReportDataResolver agregan solicitudes con nombre o de usuario con parámetros tipados ordenados, metadatos de origen, control de ejecución de solo lectura y resultados explícitos de no manejado, resuelto, no encontrado o error de datos; los resolvers se registran por clave de proveedor sin distinción de mayúsculas y minúsculas para un despacho O(1), los proveedores heredados siguen siendo compatibles mediante un adaptador, las tablas explícitas permanecen como autoridad y una ejecución rechaza las huellas conflictivas para el mismo alias antes de una segunda llamada al resolver
  • TXLSReportDataLimits acota los alias en caché, los proveedores con nombre y heredados, los esquemas de tabla, los nombres, los parámetros, las cadenas y los mensajes de error; las coordenadas de origen mal formadas, los caracteres de control, los nombres de parámetro duplicados, los contenedores Variant no admitidos, las combinaciones de resultados no válidas, la recursión y la cancelación a mitad de resolución fallan antes de confirmar el destino, mientras que la cancelación elimina la entrada de caché sin terminar para permitir un reintento limpio
  • TXLSReportTableFactory suministra cursores diferidos de top, proyección, unión y división, además de conteos de filas, mínimos, agregados y hash joins que preservan duplicados
  • TXLSReportQueryProvider expone a las plantillas únicamente definiciones de consulta registradas de solo lectura y pasa parámetros tipados más tiempos de espera acotados a un ejecutor del host
  • TXLSCompiledSheetReportBand y TXLSCompiledOverflowReportBand crean hojas por registro conscientes de dependencias y hojas de continuación acotadas a partir de un cursor hacia adelante
  • TXLSReportIncludeLibrary resuelve includes con nombre recursivos, reporta los ciclos de forma determinista y se congela en una biblioteca reutilizable e inmutable
  • Las condiciones de reportes compilados, las búsquedas, las expresiones regulares y las fórmulas dinámicas reutilizan los nodos de expresión analizados y los índices de columna resueltos
  • TXLSReportDynamicFormat y TXLSReportFormatEvent aplican formatos numéricos, altos de fila y anchos de columna conscientes del registro con granularidad de destino compilado
  • IXLSReportImageDataProviderV2 y TXLSReportImageBinder resuelven destinos de imagen tipados a partir de bytes acotados o flujos propios, con contexto estable de hoja, banda, tabla, fila lógica, fila del cursor, fila actual de solo lectura, anclaje, transformación, cancelación y límite de tamaño; runners, generadores, bandas de rango y bandas de tablas de Excel vinculan cada destino directamente sin escanear las celdas generadas de la hoja
  • Las imágenes de reportes V2 deducen el tamaño físico y los DPI de encabezados acotados de PNG, JPEG, GIF, BMP, EMF o WMF, admiten los ajustes Natural, Contain centrado, Cover recortado y Stretch, rechazan la geometría raster insegura antes de la mutación y preservan los desfases relativos al anclaje en los viajes de ida y vuelta de XLSX y ODS
  • IXLSXImageBlob y TXLSXImageBlob permiten que las imágenes repetidas compartan un único raster y una carga útil SVG inmutables, con un resumen SHA-256 calculado una sola vez y una clave de caché opcional; XLSX y ODS reutilizan cargas útiles de medios diferenciadas entre hojas y restauran las compartidas al reabrir
  • La revinculación de gráficos consciente de dependencias traduce series, fórmulas, nombres y anclajes cuando se expanden bandas de rango y de hoja
  • TXLSCompiledReportRunner reporta las fases begin, target, saving y end, admite cancelación, salida a flujo y a archivo atómica, conteos exactos de aplicados y ejecución reutilizable entre sesiones de datos aisladas; ErrorMode selecciona un comportamiento de parada compatible o el manejo continuado de errores de datos, de proveedor, de división por cero y de expresión regular no válida tipados explícitamente, StrictDataAccess expone los datos faltantes en lugar de los blancos heredados o los conteos centinela, y las instantáneas inmutables de LastResult conservan los problemas ordenados en tiempo de ejecución y el estado terminal entre reutilizaciones del runner
  • La salida de reportes a flujo, archivo y archivo encriptado usa una única transacción por etapas; los errores fatales, cancelados, de serialización, de escritura parcial de flujo y de reemplazo de archivo preservan el destino previo completo, mientras que la salida sin encriptación correcta mantiene el formato del libro de origen y las instantáneas grandes de rollback de flujo se vierten a almacenamiento temporal administrado
  • La salida de reportes omite las instantáneas de respaldo cuando el flujo de destino está vacío, conservando el rollback del contenido y de la posición del destino si la salida falla
  • Los destinos compilados se evalúan antes del formato dinámico y luego confirman de forma atómica el contenido, los formatos numéricos, los altos de fila y los anchos de columna con rollback exacto; el diagnóstico recuperable de celdas borra las fórmulas, retiene el estilo base restante y comparte derivados agrupados de fuente roja y relleno amarillo entre fuentes base iguales, mientras que los destinos seguros que no son celdas preservan su valor original y los estructurales siguen siendo fail-fast
  • TXLSReportRuntimeLimits acota el número de problemas retenidos, la longitud de los mensajes sanitizados y la memoria de problemas antes de mutar el destino; los mensajes son de una sola línea y ocultan credenciales comunes, y RuntimeDiagnosticsSheetName opcionalmente escribe una hoja de diagnósticos estructurada que hace la ida y vuelta junto con el libro generado
  • TXLSReportGenerator controla todo el ciclo de vida de lectura y generación para plantillas de libro, archivo, flujo y archivo encriptado, con eventos emparejados, contexto estable de hoja, cancelación segura, aislamiento de salida por clonación atómica y el mismo contrato de errores recuperables y resultados inmutables que el runner compilado
  • CloneRangeTo clona las celdas seleccionadas y las dependencias con identidad, con traducción de referencias mixtas, preflight de solapamientos y teselado lineal repetido de origen fijo; los objetivos condicionales y de validación de eje completo siguen las ediciones estructurales y los clones que contienen completamente cada objetivo, mientras que las copias de celdas de fila completa, de columna completa y de hoja completa conservan el almacenamiento disperso y capturas seguras del origen con solapamiento; las superposiciones de estilo virtuales que se intersectan también se copian y remapean sin expandir coordenadas en blanco, y el formato de superposición del destino fuera del rectángulo copiado permanece intacto
  • TXLSReportPaginationPlanner proporciona pies de página fijos, grupos keep-together, división de filas, fusión de tramos similares y columnas de reporte equilibradas
  • El análisis de reportes compilados, la ejecución estricta y WriteDiagnostics reportan los marcadores de posición mal formados y los valores faltantes con el tipo de destino y las direcciones exactas
  • TXLSReportTemplateChecker y TXLSReportTemplateMigrator reutilizan la semántica del compilador para validar plantillas y convertir las formas heredadas de marcadores de posición admitidas

Salida accesible, vectorial, de imagen y web

  • TXLSPDFTagMode y DocumentLanguage generan árboles de estructura PDF automáticos con tablas, filas, celdas semánticas de encabezado y de datos, Figures informativas de imágenes XLSX con texto alternativo Unicode, identificadores densos de contenido marcado por página, tramos de celdas combinadas, árboles padre exactos y aislamiento de artifacts para imágenes decorativas y otros dibujos no semánticos
  • TXLSPDFSignature admite campos de firma visibles o invisibles, apariencias PNG contenidas, cubiertas o estiradas, datos CMS proporcionados por el host, callbacks de resumen, rangos de bytes parcheados y políticas de certificación DocMDP explícitas para sin cambios, rellenar y firmar formularios, o rellenar, firmar y anotar formularios, sin almacenar claves privadas
  • TXLSPDFAProfile selecciona PDF/A-1a, 1b, 2a, 2b, 3a o 3b con validación del perfil antes de confirmar la salida; los archivos asociados PDF/A-3 llevan nombre Unicode, tipo MIME, descripción, tamaño en bytes, fecha de modificación y relación Source, Data, Alternative, Supplement o Unspecified mediante la sobrecarga detallada de AddAttachment
  • El progreso reutilizable begin, page y end de PDF, junto con la cancelación, evita flujos de destino parciales
  • Las cadenas de fallback de fuentes PDF conscientes del estilo almacenan en caché la cobertura de glifos y las fuentes incrustadas, preservando caracteres suplementarios, clústeres de grafemas y asignaciones de extracción
  • El conformado de texto complejo contextual aplica ligaduras, posicionamiento de marcas combinantes, unión árabe y asignaciones de clústeres de origen antes de la salida de glifos
  • Los degradados PDF axiales y radiales nativos de varias paradas, las máscaras alfa por parada, los patrones de relleno de celda, el recorte y las sombras de imagen reutilizan recursos gráficos en caché
  • Los comentarios de celda pueden convertirse en anotaciones de texto Unicode posicionadas en PDF, mientras la salida de comentarios al final sigue disponible
  • TXLSSvgExport renderiza rangos, hojas, libros, páginas y objetos con nombre con texto vectorial, vínculos seguros opcionales, gráficos, formas e imágenes; los callbacks de página devuelven un SVG completo cada vez, los prefijos de ID deterministas aíslan los documentos incrustados, y el renderizador de página compartido pinta rellenos de celda de Excel, bordes contraídos, fuentes y alineación por celda, shrink-to-fit y desbordamiento hacia celdas vecinas
  • TXLSPageImageExporter reutiliza una sesión de paginación mientras produce de forma incremental las páginas PNG o JPEG seleccionadas, o escribe las páginas seleccionadas de forma atómica como un TIFF multipágina comprimido con LZW
  • TXLSGraphicsBackend y la geometría compartida de paginación alinean la vista previa, la impresión, PDF, SVG, imagen, HTML y la colocación de objetos, mientras los serializadores conservan la codificación específica de cada formato
  • El decodificador acotado de EMF y WMF valida los envoltorios de registro y rechaza los registros de escape antes de reproducir su subconjunto seguro mediante la geometría compartida de Canvas y SVG: pilas de estado DC, transformaciones de ventana, viewport y mundo, tablas de objetos de pluma, pincel y pluma extendida con objetos de stock, rectángulos, elipses, cadenas de líneas, polígonos, curvas Bézier, llaves de trazado con pasadas de relleno, trazo y combinadas, rectángulos redondeados, arcos, cuerdas, sectores y arcos angulares, rellenos y marcos de regiones, tramos de texto acotados con fuentes y alineación, e imágenes stretch-DIB recodificadas como PNG; el recorte y los registros privados quedan fuera de la lista blanca y fallan de forma cerrada hacia el fallback raster acotado
  • Los exportadores HTML de XLS clásico y XLSX proporcionan una vista de hoja de cálculo explícita con encabezados semánticos de fila y columna, y hot tracking tipado en CSS puro; los vínculos externos comparten un único sanitizador de URI que rechaza destinos script, data, blob, file, UNC y con caracteres de control
  • Los gráficos de eje de fechas XLSX usan los seriales del libro como coordenadas continuas, preservan la ranura de compatibilidad del día bisiesto de 1900, respetan el sistema de fechas de 1904 y avanzan las marcas por días, meses o años reales del calendario en el renderizado compartido de paginación, SVG, PDF, imagen, vista previa, impresión, visor y HTML; las unidades omitidas se infieren una vez entre todas las series visibles, la densidad automática usa el tramo visible, el ancho del eje, la fuente medida de las etiquetas, el formato numérico y la rotación, y las líneas de cuadrícula mayores y menores configuradas reutilizan las mismas colecciones acotadas de marcas
  • Los modelos de eje de fechas XLSX preservan la presencia independiente de las unidades de calendario base, mayores y menores, más la bandera de categorías automáticas del eje de fechas, de modo que los elementos ChartML omitidos permanecen omitidos mientras las unidades de día explícitas y los valores booleanos falsos hacen la ida y vuelta; los campos tipados de extensión del eje de fechas del XLS clásico retienen cada valor y bandera en bruto, mientras los valores activos pueden mapearse al modelo de eje XLSX
  • Los ejes de categorías multinivel preservan cachés dispersas con las hojas primero y rangos bidimensionales en vivo, heredan las etiquetas omitidas tratando las etiquetas vacías explícitas como fronteras, combinan etiquetas iguales solo dentro del tramo de su padre, respetan el orden invertido y de derecha a izquierda además de las categorías ocultas, y exponen NoMultiLevelLabels para salida de un solo nivel
  • Las etiquetas de datos de gráficos provenientes de celdas preservan fórmulas y cachés indexadas independientes por serie, refrescan el texto visible local de la hoja una vez por generación del libro, retienen cachés externas sin acceso implícito, traducen fórmulas a través de copias de hojas y de la expansión de reportes, y respetan la visibilidad compartida y por punto en el renderizado de paginación, SVG, PDF, imagen, vista previa, impresión, visor y HTML
  • Los libros XLS clásico y XLSX comparten una política de visualización de objetos sin pérdida de tres estados; los objetos ocultos se excluyen antes de la expansión de rangos y del trabajo con medios, el visor renderiza marcadores de posición con nombre ligeros, y los exportadores PDF, SVG, mapa de bits, impresión y HTML pueden optar por la salida de marcadores de posición manteniendo por defecto la salida de objetos completos
  • Los diseños manuales de gráficos preservan la presencia independiente de campos y los tokens de origen no válidos, resuelven los modos de factor y de borde con colocación acotada que preserva el tamaño, distinguen destinos de trazado internos y externos, comparten la geometría de título, leyenda, área de trazado y título de eje entre la salida de paginación, SVG, PDF, imagen, vista previa, impresión, visor y HTML, y convierten las posiciones ODF admitidas mediante distancias absolutas del gráfico
  • Los ejes de fechas XLSX preservan los formatos numéricos de las etiquetas y el estado de vínculo al origen, aplican estilo de texto de eje y rotación en sentido horario, respetan la dirección invertida y mantienen un espaciado continuo para fechas duplicadas y dispersas en el renderizado de paginación, SVG, PDF, imagen, vista previa, impresión, visor y HTML
  • El modo de visualización de fórmulas resuelve el mismo texto final consciente de celdas protegidas, la misma alineación y el mismo ancho efectivo acotado de diseño doble en las rutas del visor de libros, vista previa, impresión, imagen, EMF, SVG, PDF, HTML clásico y HTML XLSX, sin cambiar los valores almacenados, las cachés de fórmulas ni los anchos de columna
  • Los arcos Bézier cúbicos adaptativos dirigidos por flatness comparten un único contrato de precisión entre la salida PDF, SVG e imagen, asignando segmentos extra solo cuando la escala o la excentricidad los requieren
  • Los contornos PDF admiten marcadores Unicode anidados, colores, texto en negrita o cursiva y descendientes expandidos o contraídos, con callbacks de página para fondos y superposiciones
  • Los estilos de tabla con nombre resueltos y los integrados fluyen por el formato compartido de HTML, PDF, imagen, vista previa y visor sin materializar celdas en blanco
  • TXLSSvgExport.SaveObjectAsSVG renderiza un gráfico, imagen o forma con nombre en sus límites exactos de objeto sin recortar una página completa
  • La exportación HTML emite gráficos y formas como SVG en línea y preserva imágenes SVG, anclajes de dibujo, vínculos y efectos admitidos sin rasterizar la hoja completa
  • TXLSXHtmlExportSession examina los estilos compartidos una sola vez y después exporta las hojas de forma incremental con progreso, cancelación y reinicio
  • TXLSImageRenderEffects aplica recorte, brillo, contraste, gamma, rotación, opacidad y sombra de forma consistente entre los backends gráficos
  • Las formas predefinidas, los ajustes, las llamadas, los diagramas de flujo, los cuadros de texto y el WordArt usan geometría vectorial compartida entre los formatos de salida
  • El renderizado avanzado de gráficos cubre barras de error, líneas de tendencia, ejes de fechas, espaciado numérico, etiquetas provenientes de celdas con orden de componentes personalizados primero, y barras financieras high-low y up-down
  • Las etiquetas de gráficos densos y circulares reciben un ajuste determinista de colisiones y un enrutado de líneas guía antes de la salida vectorial final

Funciones XLSX listas para el código de la aplicación

La API XLSX ahora cubre la generación práctica de libros, la salida de reportes y escenarios de mutación de libros de trabajo en lugar de solo la simple escritura de celdas

  • Estructura de la hoja de cálculo Celdas, cálculo de fórmulas, rangos completos y combinados con búsqueda/eliminación directa de rangos combinados, tamaños de filas y columnas con Autoajuste limitado, esquemas, filas y columnas ocultas, paneles inmovilizados, estado de hoja activa, hojas ocultas y muy ocultas
  • Estilos y presentación Fuentes, rellenos, bordes, formatos de números, alineación, texto enriquecido, colores del tema, colores indexados, tinte y sombra, bordes diagonales y grupos de estilos reutilizables
  • Objetos de Excel Hipervínculos y comentarios con búsqueda de celdas y ayudantes de eliminación de rangos, imágenes y cuadros de texto de dibujo independientes con búsqueda de anclaje y ayudantes de eliminación de rangos, formatos condicionales y validaciones de datos con ayudantes de búsqueda y eliminación que reconocen el rango, tablas de estilo Excel con búsqueda y eliminación por nombre, criterios de filtro automático con ayudantes de búsqueda y eliminación de columna directa, objetos de gráficos con ayudantes de búsqueda y eliminación de títulos, hojas de gráficos, nombres definidos con ayudantes de búsqueda y eliminación con alcance, preservación de proyectos VBA con consultas HasVbaProject / VbaProjectDefined más inspección y edición del código fuente de módulos existentes, y vínculos externos del libro de trabajo con ayudantes de búsqueda y eliminación de destinos
  • Soporte de página y metadatos Modos de vista de hoja de cálculo, áreas de impresión, filas y columnas de título, opciones de impresión de cuadrícula y encabezados, saltos de página manuales con búsqueda de índice y ayudantes de eliminación de rangos, libros Date1904, propiedades del documento, metadatos de la aplicación y guardado/apertura basados en flujos

Formatos de salida a partir de los mismos datos del libro

HotXLS no se limita a archivos de libros de trabajo binarios. Las API actuales exponen rutas de exportación directa para los objetivos de integración y reportes comunes

XLS Lectura, escritura y modificación de libros de Excel 97-2003 clásicos, cursor de celdas cargadas en estado constante con instantáneas propias, blancos con estilo independiente opcionales y validación fail-fast de topología, descubrimiento rápido del nombre de la hoja desde archivos o flujos, búsqueda de hojas por nombre, ayudantes de panel, pestaña activa del libro, metadatos guardado por, ayudantes de carga/guardado/borrado de la carga útil de VBA más inspección y edición del código fuente de módulos existentes, y controles de geometría/estado de ventanas, pestaña, barra de desplazamiento, controles de agrupación de fechas del AutoFilter, vista de hoja, color de cuadrícula y fidelidad de la bandera Window2 de paneles inmovilizados, controles de estilo de esquema, permisos de protección de hoja, banderas de configuración de página con preservación acotada byte a byte de la carga útil del driver de impresora BIFF, acceso a la carga útil pública aislado de copias y conversión a XLSX con prioridad de campos tipados, ordenación de rangos con varias claves, estilos de celda integrados, propiedades del documento y flujos de trabajo de exportación
XLSX Generación de libros OOXML, cálculo de fórmulas con cobertura de funciones ampliada y referencias A1 en toda la cuadrícula de hoja de 1,048,576 × 16,384, y OnUserFunction/OnUserFunctionEx, cursor de celdas cargadas en estado constante sobre bloques dispersos materializados o almacenamiento empaquetado con instantáneas propias, blancos con estilo independiente opcionales y validación fail-fast del ciclo de vida, escaneo de celdas cargadas y escritura por callbacks, límites de AutoFit acotados para anchos de columnas de reportes y altos de filas, conversión determinista dispersa de XLSX a BIFF8 mediante SaveXLSXWorkbookAsXLS con preservación de colores indexados bloqueados, cuantización de paleta OKLab ponderada y configuración de impresora tipada con preflight, preservación byte a byte de la parte de configuración de impresora de la hoja con acceso a la carga útil pública aislado de copias, semántica exacta de borrado y diagnósticos de relaciones colgantes, guardado y carga encriptados con AES compatible con Excel (ECMA-376 Standard Encryption) con aceleración AES-NI y fallback de software, preservación de proyectos VBA con consultas HasVbaProject / VbaProjectDefined más inspección y edición del código fuente de módulos existentes, búsqueda/reemplazo de texto de plantilla, exportación HTML configurable de libro/rango, búsqueda/eliminación directa de criterios de AutoFilter y evaluación de vista previa, búsqueda/eliminación directa de anclajes de imágenes incrustadas, búsqueda/eliminación de formatos condicionales y validaciones de datos que reconoce rangos, y round trip a través de la fachada dedicada lxHandleX
XLSB Valores validados y estilos básicos a través de la fachada XLSX, incluidos números tipados, valores Boolean, texto Unicode, errores ordinarios, blancos con estilo, visibilidad de hojas, vistas ordinarias, dimensiones de filas y columnas, márgenes de página, compresión ZIP y timestamps deterministas; el staging completo del paquete y las comprobaciones obligatorias de características rechazan fórmulas, nombres, objetos de características y ajustes de cálculo no predeterminados no soportados antes de confirmar el destino
ODS Importación de hojas de cálculo OpenDocument con datos styles.xml, dimensiones de fila/columna, estilos de celda heredados, conversión de fórmulas básicas, protección de hoja, rangos con nombre, valores escalares almacenados en caché sin tipo, segundos de fecha fraccionarios y duraciones de tiempo negativas. Exportación completa a través de SaveAsODS que escribe valores de celda tipados, fórmulas, texto enriquecido, rangos combinados, hipervínculos, imágenes, gráficos, formatos condicionales, validaciones de datos, paneles inmovilizados, rangos de impresión, grupos de esquemas y control opcional TODSExportOptions en un paquete ODF válido
CSV / TSV Importación de texto delimitado a través de OpenCSV con detección automática de separadores, detección de codificación BOM, citas RFC 4180, inferencia opcional de tipos de valores, directivas de importación por columna y segmentación de ancho fijo, además de ayudantes de exportación de libros, hojas y rangos con sobrecargas de flujo y archivo, y salida de ancho fijo con relleno de espacios
HTML / RTF / PDF Exportaciones orientadas a tablas para reportes, vistas previas, cuerpos de correo electrónico y entrega de documentos, incluidos fragmentos de rango seleccionados, títulos HTML configurables, atributos de diseño de tabla, anclajes de hipervínculos, información sobre herramientas de comentarios, estilos de alineación vertical, estilos de runs de texto enriquecido, estilos diferenciales condicionales y formatos numéricos, escalas de colores, barras de datos direccionales, glifos de familias de iconos y salida mínima de tabla. TXLSHTMLImport importa una tabla de nivel superior seleccionada o todas las tablas en una celda destino con base uno con un separador decimal explícito, conservando las sobrecargas originales de todas las tablas. SaveWorkbookAsHTML publica cada hoja XLSX visible en un documento navegable con anclas estables por hoja y nombres de hoja escapados. RTF también importa de vuelta a través de OpenRTF, mapeando celdas de tablas o listas de párrafos a A1 por defecto o a una fila y columna destino explícitas con base uno mediante las sobrecargas extendidas. El SaveAsPDF del libro combina todas las hojas visibles en un documento, renderiza rellenos sólidos y condicionales, escalas de colores, barras de datos, iconos condicionales, colores de fuente, tamaños, énfasis de negrita, cursiva y subrayado, alineación, bordes explícitos y líneas de cuadrícula opcionales, y sigue áreas de impresión, tamaño de papel o dimensiones de papel personalizadas precisas en puntos, orientación, márgenes, zoom, ajustes de ajuste-al-ancho, anchos de columna, altos de fila, saltos de página manuales, filas y columnas de título repetidas, y encabezados y pies de página a izquierda, centro o derecha — incluidos los códigos de campo &F de nombre de archivo y &Z de ruta y la supresión opcional de la banda de encabezado o pie — mientras pagina rangos anchos y altos por ambos ejes; CalculatePageCount reporta el conteo completo de páginas lógicas sin construir objetos PDF, y FirstPage y LastPage con base uno seleccionan un rango de salida preservando los campos de total de páginas. TXLSPaginationModel expone esas decisiones como páginas lógicas XLS y XLSX reutilizables para la vista previa de impresión VCL, la exportación PDF, canvas personalizados y salida EMF, incluidos títulos repetidos, orden over-then-down o down-then-over, escalado de ajuste del 10% al 400% y colocaciones de dibujos
PDF / SVG / PNG portable El render portable nativo transfiere instantáneas escalares y de escena separadas, preserva el orden de dibujo y el recorte, y usa render Cairo acotado con archivos de fuentes explícitos; los planes de impresión de libros aplican áreas de impresión, títulos, configuración de página, saltos y escalado de ajuste sin recálculo ni mutación del origen

Por qué usarlo

HotXLS mantiene la generación de hojas de cálculo dentro de su proceso de Delphi o C++Builder. Esto lo hace adecuado para utilidades de escritorio, herramientas por lotes, servicios e instaladores donde la automatización de Office es frágil o no está disponible

Cobertura de RAD Studio

El paquete está dirigido a Delphi y C++Builder desde XE5 hasta RAD Studio 13.1 Florence, con proyectos de paquetes con versión y carpetas de salida por versión

Free Pascal 3.2.2 con Lazarus/LCL también está soportado en Windows Win32 y Win64 a través del paquete de runtime Lib/FPC/HotXLSLaz.lpk, incluidas las API de libros XLS/XLSX, el streaming directo, las fórmulas y los componentes de exportación TDataToXLS y TGridToXLS para datasets LCL y TDBGrid

Ejecute build-FPC-Lib.cmd Win64 o build-FPC-Lib.cmd Win32 para compilar el paquete, y luego Tests/Lazarus/Run-HotXLSLazarusSmoke.cmd Win64 o su equivalente Win32 para verificar los round trips de libros y compresión; defina LAZARUS_DIR para una instalación personalizada

Las aplicaciones LCL de Windows deben incluir la unidad Interfaces de la LCL antes de las unidades de HotXLS y agregar Lib y Lib/FPC a sus rutas de búsqueda de unidades, más Lib a la ruta de búsqueda de includes; los formularios demo VCL, el visor de libros VCL y el adaptador de grilla DevExpress siguen siendo componentes de Delphi/C++Builder

Las aplicaciones nativas de Linux x64 y macOS ARM64 cargan, editan, calculan y guardan los modelos soportados de XLS clásico, XLSX, XLSB y ODS; el texto BIFF5 clásico usa páginas de código declaradas explícitas, mientras que el Unicode comprimido de BIFF8 retiene unidades de código UTF-16 exactas y el cálculo y la búsqueda nativos preservan la coincidencia de mayúsculas y minúsculas Unicode

El texto de gráficos legado soportado se transcodifica cuando cambia su página de código, y la migración de texto de bytes no representable o no soportada se rechaza antes de alterar la salida del llamador; las lecturas ZIP repetidas liberan sus metadatos de encabezado previos, y la búsqueda de estilos con nombre incluye la primera entrada almacenada

Consulte Soporte de Free Pascal y Lazarus para los detalles de configuración de la aplicación, los contratos de codificación legada y la compatibilidad de regex

El subsistema de salida portable renderiza PDF, SVG y PNG nativos en Linux y macOS con FPC, Cairo, FreeType, HarfBuzz y FriBidi; consume instantáneas inmutables del núcleo nativo de libros soportado, con geometría de fuentes explícita y presupuestos de recursos

Fácil distribución

Se incluyen el código fuente, los paquetes, los scripts de compilación, las demostraciones, la documentación HTML local y la integración del instalador para que los equipos puedan compilar, probar y distribuir sin depender de un servicio web

Puntos de partida

Use estos archivos locales primero al evaluar la biblioteca o integrarla en un proyecto