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

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

Instantánea 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 nuevos proyectos 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 se requiere instalación de Microsoft Excel, automatización COM ni procesos de hojas de cálculo externos

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 no cambia

Fachada XLS clásica

Una API madura para libros de trabajo de Excel 97-2003 (.xls), que cubre el modelo de objetos clásico completo 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 anteriores al reconstruir grafos de dependencias grandes, incluidas las referencias a salidas de matriz y las dependencias que abarcan 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 ausentes conservan el fallback de cálculo, mientras que un Recalculate explícito refresca los valores existentes
  • Las referencias de nombres definidos escalares se intersecan 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 ciclos de rango falsos, prioriza las cachés de búsqueda finalizadas y preserva la precisión de coma flotante en aritmética mixta de enteros y coma 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 obligatorio; las partes generadas y preservadas comparten declaraciones de content-type ú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 de trabajo nuevos
  • AGGREGATE gestiona 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 y los desplazamientos de anclas de gráficos sin modificar, los nombres, tamaños y esquemas de fuentes de los formatos condicionales, los indicadores de estilo explícitos y colores RGB, y una orientación de página sin especificar cuando solo se establecen los márgenes
  • Modelo de objetos completo: libro de trabajo, hoja de cálculo, rango, fórmula, formato, imagen, hipervínculo, nombre definido, protección, configuración de página y exportación de informes
  • Los metadatos de columna clásicos exponen los marcadores de contracción de esquema con independencia del estado oculto y del nivel de agrupamiento, y los preservan en round-trips XLS en bruto, copias de formato de columna y copias de hojas de cálculo
  • 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 frente a valores privados duplicados y rechaza los ajustes BIFF8 no representables antes de escribir el destino
  • Los libros de trabajo 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 no válidas pero intactas siguen siendo sin pérdida, la conversión entre formatos conserva valores de política legales y las preferencias de actualización nunca inician acceso a archivos ni a la red
  • Los libros de trabajo XLSX exponen detección, recuento y eliminación atómica exactos de paneles de tareas de Web Add-in; 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 de content-type obsoletas, impide la resurrección mediante copias comprimidas de origen y permanece idempotente, mientras que XLS clásico y ODS informan de la operación como no admitida sin escanear el paquete
  • Las hojas de cálculo XLS clásicas y XLSX exponen métodos equivalentes de selección consciente de paneles y de desplazamiento en 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 atómicamente paneles ausentes o coordenadas no válidas; las instantáneas de selección siguen ordenadas, con solapamientos y propiedad del llamador, las ediciones estructurales de fila o columna completas remapean todos los paneles preservando la identidad del área activa con fallbacks deterministas de celda superviviente y de celda de frontera, y las operaciones sobre áreas grandes siguen siendo lineales amortizadas; el XLS clásico además agrega registros de selección consecutivos, preserva los cuerpos de registro intactos o no válidos, informa de 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 de resumen anterior o posterior en tiempo O(log n + k) y crea planes comprimidos e idempotentes para contracción de nodos, cambios de nivel de visualización, preservación de hijos anidados y actualizaciones recursivas del estado de hijos sin escanear coordenadas no usadas de la hoja de cálculo; ambos motores de hojas exponen los mismos métodos de consulta y control de nodos, mientras que los grupos de OpenDocument conservan su estado de visualización nativo y se convierten en marcadores de nodos de resumen de XLSX
  • Los libros de trabajo 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 indefinido, 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 alfas parciales y resuelve los empates a igual distancia por 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, recuentos de definiciones y de referencias, tipos de consumidores y bloqueos de preservación entre estilos, celdas dispersas, objetos de hoja, gráficos, comentarios y formatos condicionales, sin materializar celdas sin usar
  • Ambos motores de libros exponen una vista previa BuildBiffPalettePlan sin mutaciones que protege a los consumidores indexados, agrega los colores directos y los de tema resueltos por frecuencia de renderizado, preserva las coincidencias exactas existentes, mapea los colores de forma determinista mediante OKLab e informa de la identidad de origen, los cambios de ranura, la cobertura exacta, el error ponderado y la cuantización por desbordamiento sin alterar el libro ni el comportamiento de guardado
  • Ambos motores de libros pueden validar y aplicar atómicamente un plan vigente de 56 ranuras mediante ApplyBiffPalettePlan, rechazando entradas obsoletas o manipuladas antes de cualquier mutación y reconstruyendo una vez el emparejador perceptual; los libros clásicos añaden además una BiffPaletteSavePolicy explícita cuyo valor predeterminado preserva la salida histórica, cuyo modo de optimización se 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 el ajuste en tiempo de ejecución nunca se serializa ni se usa por sí solo 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 útil de celda eliminan las cachés globales de proceso de DPI y de ancho base del AutoFit, manteniendo el escalado de pantalla fuera del escalado de coordenadas de salida
  • El AutoFit del XLS clásico y de XLSX captura una instantánea de geometría de render por operación y aplica medición de fuentes calibrada, ajuste de línea, interlineado y márgenes de celda; la paginación captura la misma geometría local del libro en cada construcción, de modo que los tamaños de página predeterminados se mantienen estables, los cambios de calibración posteriores exigen 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 toda la operación; 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 encabezados, filas de datos, callbacks y anchos de columna
  • Las matrices dinámicas XLSX automáticas se redimensionan y se apropian de sus celdas de desbordamiento, conservan 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 en bruto elemento a elemento
  • Los MAP de arrays múltiples y el FILTER de array calculado conservan los errores por elemento, mientras que los metadatos de valores enriquecidos XLSX retienen errores tipados #SPILL! y #CALC!
  • GetConversionReport inventaría las pérdidas conocidas hacia el formato destino sin mutar nada, y el SaveAsChecked optativo puede rechazarlas antes de escribir; la salida explícita xlsxOpenXMLMacroEnabledTemplate crea paquetes XLTM y preserva el VBA existente
  • Las implementaciones TXLSQueryTableProvider suministradas por el llamador actualizan transaccionalmente datos de tablas de consulta con esquema fijo, redimensionando los 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 a partir de literales tipados explícitos o celdas almacenadas de la hoja, incluidos Unicode, texto vacío, fechas, nulos y las cachés de fórmulas disponibles; Jet y ACE preservan las fechas tipadas sin conversión de marca de tiempo dependiente de la configuración regional, y la actualización aplica los resultados transaccionalmente
  • Las consultas automáticas de texto actualizan archivos delimitados o de ancho fijo con decodificación explícita, campos tipados, columnas omitidas, filas de encabezado y de inicio configuradas y actualizaciones transaccionales acotadas; las posiciones de ancho fijo usan unidades de código UTF-16 decodificadas, recortan el relleno y conservan 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 infracciones estructuradas dirigidas por celda y operaciones explícitas de anotación o libro de corrección
  • CELL lee la identidad real del archivo referenciado, los formatos numéricos base admitidos, la alineación, el estado de bloqueo y el ancho de columna tanto en XLS como en 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 informe repetidas clonan conversaciones encadenadas completas con identidades remapeadas, y la paginación nativa compartida renderiza tramos de celdas combinadas mientras las cachés de gráficos se refrescan desde los rangos locales admitidos tras ediciones y recálculo
  • Cálculo de fórmulas integrado con registros de funciones de usuario por proceso y por libro, semántica de invalidación por nombre local, invocación de manejadores sin bloqueos, callbacks OnUserFunction y OnUserFunctionEx, además de 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 array en difusión con errores por celda, matrices multivariable 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 array, redondeo CEILING.MATH / FLOOR.MATH consciente de arrays con difusión singleton y errores locales, evaluación estable y consciente de arrays de COT / ACOT / COTH / ACOTH / CSC / CSCH / SEC / SECH con errores locales y ramas seguras ante desbordamiento para entradas grandes, cálculos de repetición COMBINA / PERMUTATIONA con control de desbordamiento, matrices identidad MUNIT con memoria acotada, conversión UNICHAR por escalares Unicode, texto de moneda tailandesa mediante BAHTTEXT, inspección ISFORMULA que preserva la referencia 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 arrays ARRAYTOTEXT / VALUETOTEXT, cálculos validados XIRR / XNPV, temporal y tasas de crecimiento de inversiones con PDURATION / RRI, y depreciación VDB de periodos fraccionarios, más vinculaciones LET completas y clausuras LAMBDA invocables mediante 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, arrays, valores vacíos, volatilidad, cancelación, autorización de referencias externas y categorías de fallo estables, mientras que IXLSFormulaEvaluationTemplate reutiliza un ancla compilada inmutable entre celdas destino con presupuestos configurables de longitud de fórmula, pasos, recursión y memoria de arrays
  • El XLS clásico y XLSX exponen métodos ValidateFormulaEntry equivalentes sin mutaciones, una FormulaEntryPolicy a nivel de libro y escaneos AuditFormulaSymbols analizados sobre celdas y nombres definidos, con escaneos más rápidos de los XLS clásicos dispersos y un único recorrido de símbolos que conserva 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 una 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-in, la validación reconoce funciones de usuario registradas o por callback, lambdas léxicas y de nombres definidos, marcadores de posición de informes, vínculos externos registrados y referencias estructuradas válidas sin invocar manejadores, y los callbacks de funciones externas o de estilo macro peligrosos siguen bloqueados antes de evaluar los 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, indicadores de referencia independientes, clonación, reemplazo atómico de referencias, proveniencia de contexto y validación antes de la reescritura
  • 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 entradas eliminadas, ediciones estructurales, copias de hojas y soporte de round-trip BIFF8
  • Escaneo de celdas, búsqueda y reemplazo de plantillas (find & replace), llenado de rangos por callback, escrituras directas de arrays tipados mediante ForEachCell, FindText, ReplaceText, WriteCells y los métodos escritores numéricos, de cadena y variant por filas y columnas, más el ConvertFormulasToValues de hoja completa o de celda individual que congela las fórmulas en sus resultados calculados conservando el valor en caché
  • Inspección de cachés de fórmulas neutral de motor mediante IXLSFormulaCacheReader y el CreateFormulaCacheReader de cada motor de libros, que informa de presencia, proveniencia cargada o calculada y tipo en blanco, número, fecha-hora, cadena, Boolean o error, sin evaluar fórmulas, invocar funciones de usuario, descompilar tokens ni alterar el estado del libro; los leases de vida útil invalidan los lectores 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
  • IXLSWorkbook.CreateReadOnlyView clásico y 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 opt-in; las vistas concurrentes mantienen privados el estado de recursión, las cachés escalares y de arrays y las fórmulas XLSX compiladas, la evaluación externa XLSX lee solo las 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 la asignación de nombres por celda; la sintaxis ordinaria de lectura y asignación no cambia, pero la dirección del campo en bruto y la disposición de registro anterior dejan de estar soportadas y quienes llaman deben recompilar
  • TXLSWorkbookWorkspace acepta adaptadores revocables de XLS clásico, XLSX u ODS 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 archivo tipadas y #REF!; las solicitudes concurrentes de carga comparten un único resultado, el diagnóstico tipado expone fallos y límites de recursos, los métodos de registro por compatibilidad siguen disponibles en ambas fachadas de libros, 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 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 fila 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 el grafo de dependencias compartido y lo marca incrementalmente como dirty, planifica los nodos de fórmulas acíclicos en orden topológico entre libros, rechaza los ciclos de fórmulas verdaderamente fuertemente conexos sin rechazar los vínculos bidireccionales inofensivos entre libros y comparte una caché externa de celdas local de la pasada con diagnóstico explícito de aciertos, fallos, invalidaciones y nodos bloqueados; las llamadas al mismo workspace se serializan, la eliminación durante una pasada devuelve un estado de workspace modificado mediante instantáneas seguras del adaptador, la destrucción espera al cálculo activo y los nodos fallidos permanecen dirty para un reintento explícito
  • CalculateAndVerify compara los resultados de fórmulas almacenados con cálculos frescos no volátiles e informa de diagnóstico de hoja, celda, fórmula, valor esperado y valor real sin reemplazar la caché; RecalcAndVerifyEx añade la auditoría profunda con una superposición aislada de resultados del grafo de dependencias, categorías de fallo tipadas con pilas de llamadas acotadas, cancelación de progreso y aplicación atómica opt-in de los valores recalculados
  • Las tolerancias de la auditoría profunda filtran los informes 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 informa de ninguna discrepancia; las tolerancias absoluta y relativa se aplican ambas a los resultados de doble precisión
  • Las auditorías profundas de fórmulas del XLS clásico reservan capacidad de recorrido y copian con eficiencia las instantáneas consecutivas cacheadas de dobles planos, 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 de forma perezosa, 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 conexos 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 fila de 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 bordes para valores negativos, escala de color, 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 dirigida por relaciones, materialización multivalor filtrada y agrupada, campos calculados, elementos y miembros, subtotales, totales generales, ordenación estable, cálculos ShowDataAs clásicos y extendidos, más comentarios de texto enriquecido
  • La actualización transaccional de la caché local de la tabla dinámica resuelve orígenes rectangulares, de nombres definidos con ámbito de hoja y de tabla en su geometría actual, excluye los totales físicos de tabla, retiene la identidad del origen a través de movimientos y renombrados de hoja, preserva las identidades existentes de campos y miembros ante la 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 admitidos o nuevos miembros de grupos discretos sin mapear antes de cambiar la caché
  • La materialización segura de la tabla dinámica en la hoja evalúa una caché aislada, rechaza solapamientos inseguros, preserva los objetos y el formato de las celdas y rastrea los valores propios exactos a través del redimensionado, el movimiento y la reapertura XLSX
  • La selección tipada de Slicers de tablas dinámicas no OLAP inspecciona y cambia selecciones de miembros compartidos importadas, interseca los filtros de vistas conectadas, preserva las restricciones independientes de otros campos y rechaza vinculaciones ambiguas o no admitidas antes de mutar
  • Round-trip BIFF8 de alta fidelidad que preserva los registros escritos por Excel, los colores RGB y de tema exactos, las vistas personalizadas y los metadatos de uso compartido / revisión
  • Libros de trabajo protegidos con contraseña mediante cifrado BIFF8 RC4, guardado y carga XLSX con cifrado Agile y un HMAC de integridad de datos verificado sobre el paquete cifrado, y reservas de escritura clásicas (SetModifyPassword) que llevan el indicador de recomendación de solo lectura, el hash de la contraseña y el nombre del usuario que la reserva
  • Las sobrecargas de AutoFit para celdas combinadas pueden asignar el crecimiento necesario de fila o columna al primer miembro, al último, o repartirlo de forma uniforme por el 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 valores de celda, fórmulas (recompiladas contra los nombres de hoja del destino), formatos con colores RGB / de tema exactos, celdas combinadas, comentarios, hipervínculos, disposición de filas y columnas, paneles inmovilizados, protección, configuración de página, color de pestaña, formatos condicionales, validaciones de datos, criterios de AutoFilter, tablas, imágenes incrustadas, runs de texto enriquecido (con sus fuentes migradas por valor) y hojas de gráficos (con 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 de tablas dinámicas con caché compartida, creación local de Slicers de tabla dinámica y eliminación explícita consciente de la selección, refresco de cachés agrupadas corregido y vistas previas de metadatos nativos de diseño compacto
  • La salida transaccional nativa de tablas dinámicas en la hoja soporta diseños agrupados y subtotales de fila personalizados; los campos calculados SUM locales y los elementos propiedad de la caché preservan sumas de contexto, orden de resolución, cálculos de visualización y filtrado admitidos, mientras que los estados no admitidos se rechazan antes de mutar
  • Los Timelines de tabla dinámica y los estados de datos de Slicers proporcionan filtrado local de fechas protegido, ciclo de vida de vistas compartidas y refresco explícito nativo de elementos sin datos
  • Los proveedores de consulta automáticos actualizan explícitamente las consultas Text, ADO, ODBC y Web admitidas, con resultados acotados y proveedores personalizados registrados
  • La inspección de gráficos clásicos decodifica las tablas de relleno OfficeArt nativas admitidas, expone diámetros de marcadores en puntos y valida el texto almacenado y las extensiones de anotación antes de aplicar el estado tipado; el almacenamiento en bruto del gráfico se retiene y la apariencia portátil del gráfico clásico sigue validándose por separado
  • La salida portátil sin interfaz captura rectángulos admitidos de XLS clásico o XLSX 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é admitidos y gráficos BIFF8 núcleo acotados con diseño declarado por el llamador y tamaño efectivo de leyenda
  • Los argumentos de arrays calculados de texto y estadística conservan la coerción y los 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 agregados preservan la coerción escalar, de array y de referencia, los errores tipados, las dependencias y los límites de recursos

Fachada XLSX moderna

Un motor OOXML dedicado construido en torno a 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 caracteres de control y tokens literales _xHHHH_ sin reescribir la sintaxis de las fórmulas
  • La configuración de página de la hoja retiene los ajustes binarios 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 entre copias de hojas del mismo libro y entre libros, e informa de relaciones de impresora ausentes, con tipo erróneo o colgantes sin vincular una parte binaria ajena
  • Los escritores tipados numéricos, de cadena y variant por filas y columnas hacen crecer la capacidad de celdas geométricamente entre lotes repetidos, añaden los lotes de filas hacia delante directamente en vectores dispersos de filas predimensionados, recortan con seguridad en los límites de la hoja, preservan manejadores estables ante 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 preserve en ida y vuelta estilos, texto enriquecido, imágenes, gráficos, validaciones, formatos condicionales, configuración de página, rangos de impresión, grupos de esquema, estructura de hojas y metadatos del libro; las opciones de exportación conservan el recálculo normal, la cancelación del progreso, los diagnósticos y la protección contra escritura, y la salida a archivo preserva el destino existente cuando la serialización falla o se cancela
  • Las reglas de comparación de celdas y de expresiones de ODS preservan el estilo diferencial de fuente, los fondos sólidos o transparentes y los formatos numéricos admitidos en destinos completos de filas enteras, columnas enteras y anchos usando portadores compactos de celdas en blanco repetidas; los atributos borrados explícitamente sobreviven, el formato base no relacionado se mantiene 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 bytes iniciales 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 corresponden con un mensaje claro que nombra el loader correcto
  • Texto visible 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— igualando lo que Excel muestra en la cuadrícula
  • Monitorización 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
  • Petición de contraseña: el evento OnPassword del motor XLS clásico pide una contraseña a la aplicación cuando Open se encuentra un libro cifrado con contraseña ausente o errónea, 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 formateo masivo rápido
  • Filas en streaming unificadas: TXLSRowCursor recorre fuentes .xls, .xlsx, .xlsm, .ods, CSV o TSV fila a fila (FindFirst / FindNext) manteniendo en memoria solo la fila proyectada actual o la plantilla de repetición ODS, empujando los límites de fila y la selección de columnas antes de asignar valores, preservando los resultados de fórmulas en caché y los 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 las celdas cubiertas ODF, saltando directamente entre las columnas seleccionadas en tramos ODS repetidos, decodificando BOM UTF-8 o UTF-16 y registros de texto entrecomillado multilínea, detectando delimitadores de coma, punto y coma, tabulador o barra vertical, y proporcionando 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 comprobación de generación, PeakRowBufferedBytes y SheetPassesStarted hacen que los escaneos de larga duración sean observables y seguros, mientras que TXLSForwardReader adapta los mismos backends a callbacks de hoja y celda en base uno sin abrir las partes de hojas omitidas
  • Progreso y diagnóstico: 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 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 metadatos y manejadores de lectura que permiten el borrado en filesystems con rename POSIX, mientras que los lectores existentes retienen los bytes originales; el acceso de borrado, los bloqueos de compartir sin borrado y la protección de solo lectura se comprueban antes de una única confirmación, sin reintento de guardado, y los filesystems antiguos o no admitidos conservan la ruta de confirmación heredada
  • Diagnóstico accionable del guardado de 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 llevan etiqueta de carga útil redundante, y los cambios de valor, fórmula y texto enriquecido evitan la reclasificación de índices; los estilos de celda importados se resuelven mediante un único array 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 perezosa al acceder a la celda, sobrevive a las ediciones estructurales y hace el round-trip como entradas compactas de columna, fila 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 se emiten de una entrada cada vez a través de un único serializador UTF-8 reutilizable
  • Apertura de solo metadatos: TXLSXWorkbook.MetadataOnly analiza propiedades del libro, nombres definidos, nombres y estados de visibilidad de hojas, estilos, tema, conexiones y vínculos externos, pero omite el XML de celdas de las hojas más las cadenas compartidas, los datos de comentarios y de personas, las relaciones de hojas, dibujos, gráficos, tablas, tablas de consulta, tablas dinámicas y las cargas útiles opacas alcanzables desde las hojas, 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 su nombre y visibilidad pero ninguna celda; 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 de origen privado y validado por cada operación SaveAs y copia sin cambios las entradas de tema, proyecto VBA, conexiones, vínculos externos, imágenes, gráficos, tablas dinámicas, cachés de tablas dinámicas 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 de origen modificados, las cargas útiles alteradas, los métodos de compresión no admitidos y las discrepancias de tamaño comprimido usan rutas de fallback de serialización transaccional o de rechazo
  • Preservación de extensiones del libro: la apertura y el guardado XLSX retienen las declaraciones de namespaces foráneas de la raíz del libro, los atributos de compatibilidad de marcado, las cargas útiles <extLst> completas a nivel de libro y sus relaciones desconocidas, mientras las hojas, nombres, vistas, propiedades de cálculo y 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 —caché de slicer, nombre definido reservado, extensión de hoja de cálculo y ancla de dibujo incluidos—, con control de posición, título, número de columnas, estilo y alto de fila; los libros que traen slicers creados por Excel (de tabla o de tabla dinámica) los conservan intactos en la ida y vuelta entre apertura y guardado, reproduciendo byte a byte las partes y anclas sin modificar mientras el resto del libro sigue siendo totalmente editable
  • Múltiples ventanas del libro: TXLSXWorkbook.WorkbookViews expone una colección ordenada con operaciones de adición, inserción, borrado, movimiento y limpieza, 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 actualización: TXLSXExternalLink analiza, almacena y conserva en el round-trip las entradas <definedNames> de los libros vinculados, mientras que cada TXLSXExternalSheetData sigue un indicador RefreshError para el estado de fallo de actualización sin requerir una fuente de datos activa
  • Importación multiformato del portapapeles: XLSPasteFromClipboardRich prefiere el formato de portapapeles XML Spreadsheet (fórmulas, estilos, combinaciones) sobre el texto Unicode plano, con detección y extracción de formato dedicadas y funciones de análisis de SpreadsheetML 2003
  • Intercambio nativo de Biff8 por portapapeles: CopyToClipboard en ambos motores publica la carga útil de documento compuesto "Biff8" del propio 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 el round-trip tanto entre libros de HotXLS como desde copias de Excel
  • El PasteFromClipboard de XLS y XLSX capturan juntos BIFF8 y el texto de reserva bajo un único bloqueo del portapapeles, mantienen la política de reintentos existente y usan el texto capturado legible sin volver a abrir 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 por el portapapeles preservan el diagnóstico original GetLastError de Win32 durante la limpieza, para inspección inmediata por quien llama
  • Marcado de texto enriquecido: la propiedad de celda TaggedText convierte en ambos sentidos entre runs de texto enriquecido y etiquetas ligeras (<b>, <i>, <u>, <s>, <sub>, <sup>, <color=#RRGGBB>, <font=Name>, <size=N>)
  • Lectores de portapapeles seguros en 64 bits con reintento ante contención, coincidencia en caché de destinos de formato condicional y de validación de datos para áreas absolutas, invertidas, de filas enteras, de columnas enteras y separadas por espacios en blanco, búsqueda, borrado, evaluación condicional y comprobaciones de validación de reglas consistentes, y un índice de hipervínculos PDF por 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 de recuperación que saltan las partes dañadas, intercambio nativo de Biff8 por portapapeles y coincidencia de rangos de validación de datos en caché
  • Imágenes PDF: las imágenes de las hojas 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 fuentes y colores 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 aborto, informan de los estados begin, page y end, mientras que Cancel detiene las exportaciones largas sin comprometer un PDF parcial en el flujo de destino
  • Fidelidad del texto de celda en PDF: ajuste de línea real con alineación vertical de bloques y líneas justificadas o distribuidas, texto rotado y apilado vertical, shrink-to-fit, desbordamiento estilo Excel hacia celdas vecinas vacías con recorte, alineación a la derecha de números bajo la 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, enlaces GoTo dentro del documento para hipervínculos internos, una preferencia PageLayout del visor con metadatos XMP, anchos de columna MDW exactos como Excel y incrustación de colecciones TrueType con cortes sintetizados de negrita/cursiva de la fuente Unicode
  • Gráficos PDF: los gráficos de las hojas se dibujan como vectores nativos —columna/barra agrupados, apilados y apilados por porcentaje, línea con marcadores, área, circular y de anillo con etiquetas de porcentaje, dispersión y radar—, con marcos titulados, ejes y etiquetas de marcas autoescalados, 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 amplían la superficie impresa
  • PDF interactivo: los hipervínculos de las hojas se convierten en anotaciones de enlace clicables y cada hoja exportada recibe un marcador en el esquema del documento
  • Extensibilidad a nivel de paquete: propiedades de documento personalizadas tipadas, partes de datos XML personalizados, imágenes SVG acompañantes, etiquetas de datos de gráficos por serie tomadas 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 con degradado de celda hacen el 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 con WidthPt/HeightPt/AutoSizeFromText, y ValidateNumberFormat valida las cadenas de formato personalizadas
  • Búsqueda con semántica Excel: FindText / ReplaceText admiten comodines (*, ?, escape ~), coincidencia de la celda completa, distinción de mayúsculas, búsqueda de texto de fórmula, escaneo hacia atrás, orden de escaneo por columnas, FindTextIn / ReplaceTextIn con ventana que confinan la búsqueda a un rango rectangular y un callback de reemplazo por coincidencia, agrupación con semántica Excel mediante AddSubtotals (filas SUBTOTAL etiquetadas, total general, niveles de esquema, saltos de página y modo de reemplazo), A1ToR1C1 y R1C1ToA1 que convierten fórmulas entre los estilos de referencia A1 y R1C1 en ambos sentidos, más WriteAutoValue para detección de tipos de texto estilo Excel (fechas ISO, estadounidenses m/d/yyyy y europeas d.m.yyyy con horas AM/PM opcionales), agregación de rangos con GetRangeStatistics, SortRange sin distinción de mayúsculas que preserva las fórmulas con semántica de referencias de Excel (las partes $ se mantienen, 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 clásico lee y escribe registros BIFF8 de fondo tipados con división continua de la carga útil, preservación exacta de formatos desconocidos, aislamiento de copias y conversión entre motores de formatos conocidos; 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 una 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 (@) usan plantillas de 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 clásicos Spinner/ScrollBar se escriben en XLS, y el auto-ajuste de filas maneja celdas combinadas
  • Intercambio por portapapeles: PasteFromClipboard lee texto delimitado por tabuladores en celdas con promoción de tipos número/fecha/booleano y reconocimiento de fórmulas, mientras que CopyToClipboard a nivel de rango publica tanto texto tabular Unicode como HTML con estilo, con fórmulas, celdas combinadas, enlaces, formato de visualización y preservación de delimitadores incrustados
  • Visor de libros editable: TXLSWorkbookViewer se enlaza 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 añade edición en el lugar consciente de celdas protegidas, entrada desde barra de fórmulas, recálculo automático, selección rectangular, eventos de referencia de fórmulas y undo/redo acotados 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é cifrada; las extensiones de caché existentes retienen sus bytes originales al guardar
  • Diseñador de disposiciones de tablas dinámicas reutilizable: TXLSPivotDesigner expone las zonas disponibles, de filas, de columnas, de filtro y de valores, reordenación determinista de campos, agregación predeterminada consciente del tipo, cambios explícitos de agregación, validación de disposición 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, borrar y conservar en el round-trip controles de botón, botón de opción, casilla, cuadro combinado y cuadro de lista, con etiquetas tipadas, estados de marcado, renderizado plano o 3D, vinculaciones de macro, celdas vinculadas, rangos de origen, tipos de control y anclas 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 los indicadores de muestra 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 de color de tema GelFrame de OfficeArt (í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 de la PivotTable de origen más el indicador 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 periodo, intercepción automática o fija, visualización de ecuación y R cuadrado, forecast y backcast, nombre visible) 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 pares, impares 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 las relaciones, junto a 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 ajeno
  • Construcción avanzada de gráficos XLSX y round-trips con grupos de trazado ordenados de columna, barra, línea, circular, área, dispersión, burbujas, radar, cotizaciones, superficie y 3D, gráficos de combinación verdaderos con orden de dibujo explícito de los 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 ejes, disposiciones manuales de trazado, título, leyenda y título de ejes, cachés de series dispersas de cadenas o números, 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 en mosaico (tiling) los patrones de origen menores sobre destinos mayores y deja los valores de celda intactos
  • Exportación de datos maestro-detalle: TDataToXLS.ReadDetailTables exporta recursivamente los datasets de detalle vinculados activos bajo cada registro maestro, mientras que IndentDetailTables añade 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 valor con escritura anticipada pueden filtrar registros y transformar valores de campos sin perturbar los cursores de los datasets
  • Creación de WordArt: TXLSXWorksheet.AddWordArt crea texto DrawingML anclado a celdas con un warp predefinido configurable, color de relleno de texto y color de contorno, mientras que los ciclos posteriores de apertura/guardado preservan el ancla completa 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, content types, relaciones hijas, elección de compresión y bytes exactos de la carga útil en los round-trips de apertura/guardado, con posibilidad de desactivación y diagnóstico 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 la fila de totales, fórmulas de columnas calculadas, fórmulas de la 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 todas las categorías 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 modificables, 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 actualización, 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, indicadores 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 opt-in 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 único 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 informe 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(...)}} desnudas escritas como fórmulas vivas, y directivas estructurales {{#imgsize}}, {{#comment}}, {{#html}}, {{#sheetvisible}}, {{#deletesheet}}
  • Tablas de usuario tipadas y perezosas mediante celdas exactas {{#usertable(alias, logicalName, providerKey, name=expression)}}, con comprobaciones de sintaxis en compilación, preflight estático sin resolvers, parámetros tipados dinámicos, exigencia de proveedores registrados, diagnóstico de conflictos sin distinción de mayúsculas, límites de declaración y carga en el primer uso a través de dbvalue o dbcount; TXLSReportGenerator.DataContext y TXLSReportTemplateChecker.DataContext llevan el mismo registro a la generación y la validación
  • Moldeado de datos de informe mediante los combinadores perezosos Filter, Sort multiclave estable y Distinct; los adaptadores FromDataSet y FromObjects enlazan datasets abiertos y listas de objetos con propiedades publicadas como tablas de informe; las bandas RunBidirectional dan a cada fila maestra sus propias columnas dirigidas por los hijos; PreprocessAndRun permite que las plantillas se automodifiquen contra los datos antes del llenado final
  • Opciones de pegado desde el portapapeles (solo valores, inserción de filas/columnas) en ambos motores de libros, y diagnóstico OnSkippedRecord en el lector directo, el cursor de filas y el lector hacia delante que expone las referencias de celdas mal formadas omitidas y los escaneos BIFF de hojas abortados
  • Los round-trips de protección de revisión compartida del XLS clásico pasan por SharedRevisionProtected y SharedRevisionPasswordHash, y los informes manejan el cifrado de principio a fin: las plantillas cifradas se abren por contraseña y RunToEncryptedFile emite un resultado cifrado en un solo paso
  • CopyRangeTo/CloneRangeTo entre libros remapean los estilos de celda por valor entre pools, y los CreatedDate, LastSavedDate, RevisionNumber y EditTimeMinutes del XLS clásico hacen el round-trip a través del flujo de resumen OLE
  • El renderizado de gráficos consume el GapWidth, el Overlap y la agrupación apilada / apilada 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 disposición del modelo
  • Los gráficos conservan en el round-trip el formato del espacio del gráfico (esquinas redondeadas, colores de fondo/borde/área de trazado) y los cinco interruptores de protección del gráfico, y el renderizador consume esos colores; el Smooth a nivel de serie y los colores de relleno/borde de los marcadores hacen el round-trip y se renderizan como segmentos curvos; los ejes llevan 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 en dos fases MarkSheet/ApplyMarked con medidas pendientes inspeccionables, límites de la región de ajuste, IgnoreStrings, KeepHeightAutomatic, un suelo DefaultRowHeightVisual y el FitWorkbook de una sola llamada
  • Las fuentes Unicode PDF admiten 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 anclas de fórmula distintas, mantiene intactos los dominios de formatos condicionales agregados, y mueve automáticamente nombres definidos, hipervínculos, series de gráficos incluidos tamaños de burbuja, y anclas de imágenes, gráficos, cuadros de texto y WordArt
  • Cálculo de fórmulas que comparte el evaluador clásico de XLS con registros de funciones de usuario por proceso y por libro, semántica de invalidación local del libro, invocación de manejadores sin bloqueos y segura en paralelo, operadores de array en difusión con errores por celda, matrices multivariable 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 la referencia sin recalcular el destino, XMATCH / XLOOKUP binarios logarítmicos, detección de argumentos opcionales ISOMITTED, conversión de arrays ARRAYTOTEXT / VALUETOTEXT, cálculos validados XIRR / XNPV, temporal y tasas de crecimiento de inversiones con PDURATION / RRI, depreciación VDB de periodos fraccionarios y callbacks de funciones personalizadas OnUserFunction; AnalyzeFormulaIssues proporciona un preflight estructurado para funciones ausentes, 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 el recálculo serie 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 la celda en las rutas de libro completo, lector directo en streaming y cursor de filas, mientras que los anclas y seguidores de arrays CSE sobreviven a las ediciones estructurales seguras de arrays completos, copias de rangos completos, duplicación de hojas y copias de hojas entre libros
  • Las matrices dinámicas pueden escribirse con TXLSXRange.SetDynamicArrayFormula, retienen los rangos de fórmulas y los metadatos XLDAPR a través de los ciclos de apertura y guardado, comparten un único registro de metadatos deduplicado entre raíces, remapean ese registro durante las copias entre libros y lo eliminan tras limpiar la última raíz
  • La composición de arrays calculados incluye TRANSPOSE tipado, multiplicación de matrices calculada, determinantes e inversión, selectores negativos y vectoriales para CHOOSECOLS / CHOOSEROWS, vectores de búsqueda calculados y solicitudes de array para XLOOKUP / XMATCH / MATCH, y operaciones de apilado y remodelado con límites de pasos de evaluación y de memoria de arrays
  • 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 mediante la fachada ExternalWorkspace que preserva rutas y la RegisterExternalWorkbook compatible: los destinos completos de relaciones y las extensiones 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 informa de las diferencias de hojas, celdas, fórmulas y combinaciones como una lista estructurada o un informe 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 en fuente roja y comentarios más compactación de solo infracciones
  • Los registros de hojas XLS no reconocidos hacen el round-trip verbatim —los registros de proveedores 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 el round-trip
  • Procesado 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 los marcadores y los fragmentos de texto para ejecuciones repetidas sobre 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 reescanear el libro, y admite diagnóstico de preflight direccionado, validación estricta antes de la mutación y hojas de diagnóstico; TXLSCompiledReportRunner añade progreso a nivel de destino, cancelación, recuentos deterministas de aplicados, estado reutilizable de finalización o fallo, eventos emparejados de ciclo de vida de libros y hojas, instantáneas recuperables de problemas y salida atómica a flujo, archivo o archivo cifrado; TXLSReportGenerator añade eventos de lectura de plantilla, orígenes de libro, archivo, flujo y archivo cifrado, más modificación in situ o por clonación atómica; IXLSReportTable, IXLSReportCursor, los proveedores y resolvers perezosos por ejecución y los í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; las galerías ejecutables de Delphi y C++Builder demuestran el mismo contexto de datos, runner compilado, hoja de diagnóstico, LastResult y ruta RunToFile
  • Bandas de informe 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 disposición de filas o columnas, rechazando antes de la mutación las estructuras parciales no soportadas
  • Las copias repetidas de rangos y bandas de informe reutilizan las búsquedas por sufijo de nombres definidos con ámbito, al tiempo que conservan la nomenclatura del primer nombre disponible tras eliminaciones, cambios de nombre o cambios de ámbito
  • Las bandas de informe expandibles de tablas de Excel mediante TXLSCompiledTableReportBand usan una única instantánea acotada de cursor para expandir una sola fila de plantilla de datos, reteniendo encabezados, totales, rangos de tabla y de AutoFilter, estado de filtro y ordenación, metadatos de columnas, fórmulas de 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 las disposiciones inseguras se rechazan antes de las escrituras estructurales
  • Las bandas de informe de rango y de tablas de Excel comparten ErrorMode, StrictDataAccess, RuntimeLimits y el diagnóstico inmutable 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 continúa con los destinos y filas restantes, mientras que los fallos estructurales y de recursos fatales hacen rollback de la expansión
  • Escaneo de celdas y filas con callbacks de valor en bruto o de texto visible, búsqueda y reemplazo de plantillas (find & replace), y escritura masiva
  • Gestión centralizada de archivos temporales de trabajo (los temp files registrados se barren al finalizar), comprobación de descifrado post-escritura opt-in con VerifyEncryptedSave, 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 desplegables de lista de una sola llamada desde un array de cadenas, modos IME tipados compartidos entre XLS clásico y XLSX, fórmulas de tablas que retienen atributos de array independientes, extensiones de formato condicional, exportación HTML configurable con clases de estilo CSS centralizadas, y guardado y carga cifrados con AES —ECMA-376 Standard Encryption (AES-128) con aceleración AES-NI, más la lectura del Agile Encryption predeterminado de Excel (derivación de clave SHA-512, AES-128/192/256)
  • Los exportadores HTML del clásico y de XLSX usan instantáneas de geometría xlsrgbHtml propiedad de la operación para convertir anchos de caracteres en longitudes CSS fijas mediante las métricas de ancho máximo de dígito de la fuente Normal, reutilizan una única caché acotada por operación de varias hojas, exponen la instantánea activa para diagnóstico y preservan las dimensiones almacenadas de las hojas
  • 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, periodos de fechas relativos, estilos diferenciales conscientes del tema, escalas de color, data bars 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 las hojas, gráficos, dibujos y propiedades del documento ligados a namespaces no canónicos o estrictos de ISO 29500 cargan como archivos ordinarios, y las hojas cuyas filas o celdas omiten los atributos de posición infieren cada celda a partir de su predecesora en el 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 libros completos transmite las entradas ZIP de las hojas directamente a inflaters y lectores XML locales de cada worker, sin retener copias de staging del XML de hojas inflado y limitando la memoria transitoria de entrada de hojas a los workers de análisis activos
  • Lector directo en streaming (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, informando del valor, tipo, texto de fórmula e índice de estilo de cada celda con detección de fechas opcional, aborto temprano que se propaga a la entrada ZIP y a la descompresión, pushdown de rangos de filas y proyección de columnas en tiempo constante antes de decodificar valores; los eventos de disposición opt-in exponen dimensiones de hojas, 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 los inflaters de hojas locales de cada worker a colas productor-consumidor con presupuesto independiente 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 mayores y las cargas útiles enriquecidas a almacenamiento temporal indexado que se borra al cerrar
  • Escritor directo en streaming (TXLSDirectWriter) que produce libros de trabajo .xlsx celda a celda, emitiendo cada hoja directamente en el 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 compartidas en línea o deduplicadas, 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, reducción, sangría, rotación, prefijos de comillas, protección bloqueado/oculto, 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, en blanco, por grupo de fechas, personalizados, dinámicos y top/bottom más estados de ordenación, protección de hoja con permisos detallados, metadatos de contraseña heredados o modernos y rangos protegidos editables, protección de estructura del libro y de ventanas, paneles inmovilizados, colores de pestaña de hoja, vistas de hoja de derecha a izquierda, conmutadores de visualización de vistas de hoja, márgenes de página, texto de encabezado/pie, 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 de duplicados/únicos y de blanco/error, data bars, 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 columna, indicadores 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 la fila de totales y opciones de visualización del 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 tipados respaldados por fórmulas y ChartML aportado por el llamador
  • La continuación por desbordamiento opt-in (AutoSplitRows) divide las exportaciones en hojas <name>_2 cuando llega una fila más allá del límite de la hoja, y FillTableCalculatedColumn extiende la fórmula de una columna de tabla a todas las filas de datos, igual que hace Excel al crearla
  • Parcheado de hojas in situ 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 añada una nueva sin reescribir la plantilla; la inicialización y la finalización fallidas liberan los manejadores del origen, quien llama conserva la responsabilidad de los registros de orígenes temporales, y el escritor puede reutilizarse tras un fallo de inicialización
  • Objetos de cámara mediante AddCamera: imágenes de instantánea vivas vinculadas a un rango de celdas, siguiendo la extensión de dibujo de la herramienta de cámara documentada; la vinculación hace el round-trip entre 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 aportar cada carga útil de forma perezosa 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, gestión de color, etiquetado, adjuntos y reglas de validación atómicas específicas del perfil; UsePDFA sigue siendo un conmutador de compatibilidad para PDF/A-2b
  • La exportación PDF funciona con una disposición clásica o una disposición PDF 1.5 opt-in con flujos de objetos comprimidos y un flujo de referencias cruzadas binario (UseXRefStream) para archivos más pequeños
  • La exportación PDF admite callbacks de progreso reutilizables begin, page y end con cancelación y sin compromiso 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 axiales o radiales nativos 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 las fuentes incrustadas por familia de origen, nivel de estilo y cobertura de glifos, almacenan en caché las fuentes cargadas y las selecciones, preservan los escalares suplementarios y los 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 vez y exporta de forma incremental las 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 mediante 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 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 de color, conmutadores independientes de objetos, 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 en caso de fallo
  • La exportación ODS traduce a OpenFormula las fórmulas escalares admitidas, las referencias A1 cualificadas, la validación Boolean personalizada, los límites con valor de fórmula y los orígenes de lista; los dialectos de fórmula de celda no admitidos conservan el fallback de compatibilidad, mientras que las definiciones de validación y referencias no admitidas se omiten juntas
  • Los altos de fila repetidos y los estilos de celdas en blanco de ODS 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) impulsa el escritor en streaming desde un pipeline de datos de una fila cada 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 del indicador 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 prioridad, los visuales de formato condicional y los hipervínculos siguen activos, y los valores almacenados, el texto con formato público y las salidas CSV y ODS conservan sus contratos existentes
  • El modo de streaming con seguimiento de anchos opt-in (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 llegan en streaming
  • 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, anclas de comentarios clásicos y encadenados, sparklines, orígenes y vistas de tablas dinámicas tipadas y referencias de extensiones preservadas reconocibles 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 lector pull en una pasada para consultar metadatos del libro, relaciones, temas y otras partes del paquete por ruta QName sensible a mayúsculas o de nombre local
  • 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 perezosas, expresiones omitidas y orígenes de errores propagados
Versión 2.384.120

Conjunto completo de capacidades de libros, informes y renderizado

La versión actual amplía las API admitidas de libros, informes y renderizado 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, incluidas idas y vuelta de relaciones y validación previa al guardado
  • Estado de libro multiventana ordenado mediante TXLSXWorkbookViews, incluidas pestañas activas, geometría, visibilidad, indicadores 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 solo las referencias confirmadas a libros externos en modo OnlyExternal, preserva las fórmulas dudosas y congela los grupos de matrices de forma atómica con los resultados de cadenas literales intactos
  • Las fórmulas de libros externos en XLSX usan un único lexer consciente de la gramática para las ranuras numéricas, de cara a la conversión estricta, el diagnóstico, el recálculo, la copia entre libros y los guardados generados, con la compatibilidad de nombres de archivo normalizada solo cuando coincide exactamente un destino registrado
  • TXLSXExternalLink expone los identificadores de relación de origen, las ranuras de base uno y los tipos de vínculo libro, DDE, OLE o sin resolver, mientras que los cambios de destino y de lista de hojas invalidan las vinculaciones externas compiladas mediante una actualización de revisión en tiempo constante
  • ConvertExternalDefinedNamesToRefErrors sustituye 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 macro y de funciones integradas, los atributos XLSX desconocidos, las fórmulas ordinarias de celda y las partes de vínculos externos
  • Ordenación estable por filas o columnas con TXLSSortFormulaMode, claves horizontales, comparadores personalizados y elecció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óstico de AnalyzeFormulaIssues para funciones ausentes, 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 ScanMacroCommands de solo inspección 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, incluidas las 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 desplazamientos BOUNDSHEET, almacenamiento acotado de desbordes del SST y un contrato único de lectura hacia delante 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 local nativa de tablas dinámicas soporta rejillas de informe compactas, tabulares y de esquema, etiquetas repetidas, posiciones predeterminadas de subtotal y múltiples ejes de medida con celdas en caché y metadatos de cable verificados contra la apertura en Excel y el refresco explícito
  • Los cálculos de visualización nativos de tablas dinámicas incluyen comparaciones con el elemento base, sumas acumuladas, porcentajes de fila y columna, porcentajes sobre el padre, porcentajes acumulados y rangos densos con salida nativa en caché y metadatos de refresco
  • 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 o redo con comprobaciones de protección, instantáneas dispersas de contenido y metadatos modernos de celda restaurados
  • Las imágenes en celda PNG/JPEG locales tipadas y los formatos dispersos de casilla por celda, fila y columna conservan metadatos de accesibilidad, precedencia, estilos, propiedad del contenido y ediciones estructurales a través de los round-trips XLSX
  • Las lecturas y escrituras XLSB ampliadas conservan las fórmulas y cachés admitidas, nombres, combinaciones, hipervínculos, paneles, tablas y filtros con preflight explícito de funciones no admitidas
  • Las API nativas de libros para Linux x64 y macOS ARM64 cargan, editan, calculan y guardan los archivos XLSX, XLSB y ODS admitidos usando servicios reales de la plataforma
  • Los libros clásicos BIFF8 nativos soportan edición, cálculo, contenedores compuestos anidados grandes, propiedades de documento y salida RC4 estándar o CryptoAPI de 128 bits en Linux x64 y macOS ARM64
  • La salida nativa de tablas dinámicas soporta agrupación numérica, de fecha y manual y once funciones de subtotal personalizadas en los diseños de informe admitidos
  • La comparación de libros retiene tipos de valor estrictos y enteros grandes exactos, tolerancias numéricas finitas, cachés de fórmula opcionales, estilos efectivos, geometría, texto enriquecido y definiciones acotadas de funciones admitidas, incluido el estado local de tablas dinámicas, Slicers y Timelines, preservando el almacenamiento disperso y los resultados previos ante fallos
  • ODS conserva el texto y los autores ordinarios de las notas, los filtros de valores y personalizados representables y la protección sin contraseña equivalente, con informes precisos de pérdida de conversión; los guardados cancelados en flujo preservan el destino, y los guardados en posición distinta de cero retienen desplazamientos ZIP válidos
  • FORMULATEXT lee las expresiones almacenadas sin evaluar su destino, y GETPIVOTDATA consulta agregados visibles admitidos desde cachés locales separadas acotadas entre XLS, XLSX y evaluadores aislados; los valores en caché inline del XLS nativo y las referencias del filtro de informe retienen sus identidades, mientras que las cachés incompletas o no admitidas producen errores explícitos
  • INDEX, SORT y UNIQUE aceptan arrays y constantes calculadas, de modo que el filtrado, la ordenación, la deduplicación y la extracción de filas o columnas componen directamente con el redimensionado de desbordamiento XLSX automático y el cálculo CSE de rango fijo; INDEX acepta arrays de selectores de fila, columna y área con difusión consciente de la orientación y errores tipados por celda, acepta el área 1 para un origen calculado y retiene la identidad de referencia multirángos escalar admitida a través de nombres definidos, LET y CHOOSE escalar; vea la selección de área de 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, anclas preservadas 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 de SaveSemanticSnapshot en streaming y ComputeSemanticHash 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 exige
  • 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, y las celdas en blanco idénticas de solo estilo comparten una carga útil con recuento de referencias y aislamiento copy-on-write para ediciones locales posteriores, con bytes ahorrados medibles en las estadísticas de almacenamiento

Informes 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, usando instantáneas de datos acotadas de una sola pasada, y preservando 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 aportan 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 fallo libera su instantánea antes de devolver el control
  • TXLSReportDataRequest y IXLSReportDataResolver añaden 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 recuentos 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 anfitrión
  • TXLSCompiledSheetReportBand y TXLSCompiledOverflowReportBand crean hojas por registro conscientes de dependencias y hojas de continuación acotadas a partir de un cursor hacia delante
  • TXLSReportIncludeLibrary resuelve includes con nombre recursivos, informa de los ciclos de forma determinista y se congela en una biblioteca reutilizable e inmutable
  • Las condiciones de informes 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, ancla, 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 informes V2 deducen el tamaño físico y los DPI de cabeceras acotadas 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 desplazamientos relativos al ancla en las idas 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 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 anclas cuando se expanden bandas de rango y de hoja
  • TXLSCompiledReportRunner informa de las fases begin, target, saving y end, admite cancelación, salida a flujo y a archivo atómica, recuentos exactos de aplicados y ejecución reutilizable entre sesiones de datos aisladas; ErrorMode selecciona un comportamiento de parada compatible o el manejo continuado de fallos de datos, proveedor, división por cero y expresión regular no válida tipados explícitamente, StrictDataAccess expone los datos ausentes en lugar de los blancos heredados o los recuentos 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 informes a flujo, archivo y archivo cifrado usa una única transacción por etapas; los fallos 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 cifrar correcta mantiene el formato del libro de origen y las instantáneas grandes de rollback de flujo se vierten a almacenamiento temporal gestionado
  • La salida de informes omite las instantáneas de copia de seguridad 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 saneados y la memoria de problemas antes de mutar el destino; los mensajes son de una sola línea y ocultan credenciales comunes, y RuntimeDiagnosticsSheetName escribe opcionalmente una hoja de diagnóstico 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 cifrado, 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 destinos condicionales y de validación de ejes completos siguen las ediciones estructurales y las clonaciones que contienen totalmente cada destino, mientras que las copias de celdas de filas, columnas y hojas enteras conservan el almacenamiento disperso y instantáneas seguras del origen solapado; las superposiciones de estilo virtual que se cruzan también se copian y remapean sin expandir coordenadas en blanco, y el formato de superposición del destino fuera del rectángulo copiado queda intacto
  • TXLSReportPaginationPlanner proporciona pies de página fijos, grupos keep-together, división de filas, fusión de tramos similares y columnas de informe equilibradas
  • El análisis de informes compilados, la ejecución estricta y WriteDiagnostics informan de los marcadores de posición mal formados y de los valores ausentes 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 aportados por la aplicación, 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, enlaces seguros opt-in, 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 enlaces 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 el indicador 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 procedentes 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 informes, 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 horaria, 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 lo exigen
  • 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, anclas de dibujo, enlaces y efectos admitidos sin rasterizar la hoja completa
  • TXLSXHtmlExportSession examina los estilos compartidos una 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 procedentes de celdas con ordenación 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 informes 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 los 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 e informes comunes

XLS Lectura, escritura y modificación de libros de trabajo de Excel 97-2003 clásicos, cursor de celdas cargadas de estado constante con instantáneas propias, blancos con estilo independiente opcionales y validación de topología fail-fast, descubrimiento rápido de nombres de hoja desde archivos o flujos, búsqueda de hojas por nombre, ayudantes de paneles, pestaña activa del libro, metadatos de guardado por, ayudantes de carga/guardado/borrado de la carga útil VBA más inspección y edición del código fuente de los módulos existentes, controles de geometría/estado de ventanas, fidelidad de pestaña, barra de desplazamiento, controles de agrupación de fechas del AutoFilter, vista de hoja, color de cuadrícula y del indicador Window2 de paneles inmovilizados, controles de estilo de esquema, permisos de protección de hoja, indicadores de configuración de página con preservación acotada byte a byte de la carga útil del driver de impresora BIFF, acceso público a la carga útil con aislamiento de copias y conversión a XLSX por prioridad de campos tipados, ordenación de rangos multiclave, 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 de 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 columna y altos de fila de informes, conversión determinista dispersa de XLSX a BIFF8 mediante SaveXLSXWorkbookAsXLS con preservación de colores indexados bloqueados, cuantización de paleta OKLab ponderada y ajustes de impresora tipados con preflight, preservación byte a byte de la parte de ajustes de impresora de las hojas con acceso público a la carga útil con aislamiento de copias, semántica de borrado exacta y diagnóstico de relaciones colgantes, guardado y carga cifrados 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 los módulos existentes, búsqueda/reemplazo de texto de plantillas, exportación HTML configurable de libros/rangos, búsqueda/eliminación directa de criterios de AutoFilter y evaluación de vista previa, búsqueda/eliminación directa de anclas 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 y estilos básicos validados 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 fila y columna, márgenes de página, compresión ZIP y marcas de tiempo deterministas; la preparación completa del paquete y las comprobaciones obligatorias de funciones rechazan fórmulas no admitidas, nombres, objetos de funciones y configuraciones de cálculo no predeterminadas 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, entrecomillado RFC 4180, inferencia opcional de tipos de valores, directivas de importación por columna y troceado de ancho fijo, además de ayudantes de exportación de libros de trabajo, hojas de cálculo y rangos con sobrecargas de flujo y archivo y salida de ancho fijo rellena con espacios
HTML / RTF / PDF Exportaciones orientadas a tablas para informes, 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, tooltips de comentarios, estilos de alineación vertical, estilos de runs de texto enriquecido, estilos diferenciales condicionales y formatos numéricos, escalas de color, data bars 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 de base uno con un separador decimal explícito, preservando las sobrecargas originales de todas las tablas. SaveWorkbookAsHTML publica todas las hojas XLSX visibles 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 de 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 color, data bars, iconos condicionales, colores de fuente, tamaños, negrita, cursiva y subrayado, alineación, bordes explícitos y cuadrículas opcionales, y respeta áreas de impresión, tamaño de papel o dimensiones de papel personalizadas precisas al punto, 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 a la izquierda, al centro o a la 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—, paginando a la vez los rangos anchos y altos en ambos ejes; CalculatePageCount informa del número completo de páginas lógicas sin construir objetos PDF, y los FirstPage y LastPage de base uno seleccionan un rango de salida preservando los campos de total de páginas. TXLSPaginationModel expone esas decisiones como páginas lógicas reutilizables de XLS y XLSX para la vista previa de impresión VCL, la exportación PDF, canvases personalizados y salida EMF, incluidos títulos repetidos, ordenación por encima-luego-abajo o abajo-luego-encima, escalado de ajuste del 10% al 400% y colocaciones de dibujos
PDF / SVG / PNG portables El renderizado nativo portable transfiere instantáneas escalares y de escena separadas, conserva el orden de dibujo y el recorte, y usa renderizado Cairo acotado con archivos de fuentes explícitos; los planes de impresión del libro aplican áreas de impresión, títulos, configuración de página, saltos y escalado de ajuste sin recalcular ni mutar el 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 ejecución Lib/FPC/HotXLSLaz.lpk, incluidas las API de libros de trabajo XLS/XLSX, streaming directo, 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 después Tests/Lazarus/Run-HotXLSLazarusSmoke.cmd Win64 o su equivalente Win32 para verificar los round-trips de libros y de 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 añadir Lib y Lib/FPC a sus rutas de búsqueda de unidades, además de Lib en la ruta de búsqueda de includes; los formularios de demostración VCL, el visor de libros VCL y el adaptador de cuadrícula DevExpress siguen siendo componentes de Delphi/C++Builder

Las aplicaciones nativas de Linux x64 y macOS ARM64 cargan, editan, calculan y guardan los modelos admitidos de XLS clásico, XLSX, XLSB y ODS; el texto BIFF5 clásico usa páginas de códigos declaradas explícitas, mientras que el Unicode comprimido de BIFF8 conserva las 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 de Unicode

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

Vea Soporte de Free Pascal y Lazarus para los detalles de configuración de la aplicación, los contratos de codificación heredada 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 admitido, con geometría de fuentes y presupuestos de recursos explícitos

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