Documentación de HotXLS

Clase TXLSXWorkbook

Contenedor de nivel superior para un libro de trabajo de Excel 2007+ (.xlsx). Declarado en lxHandleX. Contiene una colección TXLSXSheets y proporciona puntos de entrada SaveAs / Open para libros de trabajo OOXML, importación de CSV / TSV y flujos de trabajo de lectura/escritura de OpenDocument Spreadsheet (.ods)

Declaración

type
  TXLSXFileFormat = (xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet,
    xlsxOpenXMLTemplate, xlsxOpenXMLMacroEnabledTemplate, xlsxExcelBinaryWorkbook);

  TODSExportOptions = class
    constructor Create;
    property Generator: WideString;
    property IncludeCharts: Boolean;
    property IncludeImages: Boolean;
  end;

  TXLSXWorkbook = class
    constructor Create;
    destructor Destroy; override;
    function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
    function CreateLoadedCellCursor(AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
    function CreateReadOnlyView: IXLSReadOnlyWorkbookView;
    property RenderCalibration: TXLSRenderCalibration;
    function CaptureRenderCalibration: TXLSRenderCalibration;
    procedure ResetRenderCalibration;
    function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
      ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
    function SaveAs(const FileName: WideString): Integer; overload;
    function SaveAs(const FileName: WideString; FileFormat: TXLSXFileFormat): Integer; overload;
    function SaveAs(Stream: TStream): Integer; overload;
    function SaveAs(Stream: TStream; FileFormat: TXLSXFileFormat): Integer; overload;
    function GetConversionReport(ATarget: TXLSConversionTarget): TXLSConversionReport;
    function SaveAsChecked(Stream: TStream; FileFormat: TXLSXFileFormat;
      AllowLossy: Boolean = False): Integer; overload;
    function SaveAsChecked(const FileName: WideString; FileFormat: TXLSXFileFormat;
      AllowLossy: Boolean = False): Integer; overload;
    function Open(const FileName: WideString): Integer; overload;
    function Open(const FileName: WideString; const Password: WideString): Integer; overload;
    function Open(Stream: TStream): Integer; overload;
    function OpenCSV(const FileName: WideString): Integer; overload;
    function OpenCSV(const FileName: WideString; ASeparator: WideChar;
      ADetectTypes: Boolean): Integer; overload;
    function OpenCSV(Stream: TStream): Integer; overload;
    function OpenCSV(Stream: TStream; ASeparator: WideChar;
      ADetectTypes: Boolean): Integer; overload;
    function OpenODS(const FileName: WideString): Integer; overload;
    function OpenODS(Stream: TStream): Integer; overload;
    function SaveAsODS(const FileName: WideString): Integer; overload;
    function SaveAsODS(Stream: TStream): Integer; overload;
    function SaveAsODS(const FileName: WideString; Options: TODSExportOptions): Integer; overload;
    function SaveAsODS(Stream: TStream; Options: TODSExportOptions): Integer; overload;
    function GetODSSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
    function GetODSSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
    function GetSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
    function GetSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
    function SaveAsCSV(const FileName: WideString): Integer; overload;
    function SaveAsCSV(const FileName: WideString; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
    function SaveAsCSV(Stream: TStream): Integer; overload;
    function SaveAsCSV(Stream: TStream; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
    function SaveAsHTML(const FileName: WideString): Integer; overload;
    function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
    function SaveAsHTML(const FileName: WideString; SheetIndex: Integer): Integer; overload;
    function SaveAsHTML(const FileName: WideString; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
    function SaveAsHTML(Stream: TStream): Integer; overload;
    function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
    function SaveAsHTML(Stream: TStream; SheetIndex: Integer): Integer; overload;
    function SaveAsHTML(Stream: TStream; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
    function SaveAsRTF(const FileName: WideString): Integer; overload;
    function SaveAsRTF(const FileName: WideString; SheetIndex: Integer): Integer; overload;
    function SaveAsRTF(Stream: TStream): Integer; overload;
    function SaveAsRTF(Stream: TStream; SheetIndex: Integer): Integer; overload;
    // AES encryption (ECMA-376 Standard Encryption) write path.
    // OpenEncrypted still raises for encrypted packages.
    function SaveAsEncrypted(const FileName, APassword: WideString): Integer;
    function OpenEncrypted(const FileName, APassword: WideString): Integer;
    function CanReadEncrypted(const FileName: WideString): Boolean;
    function Calculate(const Formula: WideString): Variant;
    function CalculateAndVerify: Integer; overload;
    function CalculateAndVerify(out AMismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
    property OnUserFunction: TXLSUserFunctionEvent;
    property OnUserFunctionEx: TXLSUserFunctionExEvent;
    property AllowUnsafeFormulaCallbacks: Boolean;
    // Document properties (docProps/core.xml + docProps/app.xml).
    property Title, Author, Subject, Keywords, Description,
             Category, LastModifiedBy, Company,
             Application, AppVersion: WideString;
    property Created, Modified: TDateTime;
    // Workbook protection (16-bit legacy hash).
    procedure ProtectWorkbook; overload;
    procedure ProtectWorkbook(const APassword: WideString); overload;
    procedure ProtectWorkbook(const APassword: WideString; ALockStructure, ALockWindows: Boolean); overload;
    procedure UnProtectWorkbook;
    property IsWorkbookProtected: Boolean;
    property LockStructure, LockWindows: Boolean;
    // VBA project payload (round-trips byte-for-byte). Workbook is saved
    // with macro-enabled content type when HasVbaProject is True.
    procedure LoadVbaProjectFromFile(const AFileName: WideString);
    procedure ClearVbaProject;
    function HasVbaProject: Boolean;
    property VbaProjectDefined: Boolean;
    property VbaProject: AnsiString;
    property ParsedVBAProject: TXLSVBAProject;
    // Unknown package and workbook extension preservation
    procedure ClearUnsupportedParts;
    function UnsupportedPartCount: Integer;
    function UnsupportedPartBytes: Int64;
    property PreserveUnsupportedParts: Boolean;
    // Chart sheet helper — creates a sheet flagged IsChartSheet and
    // seeds Charts[0] with a default full-page anchor.
    function AddChartSheet(const AName: WideString;
      AChartType: TXLSXChartType; const ATitle: WideString): TXLSXWorksheet;
    // Streaming SaveAs path (TXLSWideStringBuilder + one sheet at a time).
    property StreamingWrite: Boolean;
    // Streaming parallel Open path
    property ParallelParse: Boolean;
    property ParallelParseThreads: Integer;
    // Workbook-level collections.
    property ActiveSheet: Integer;
    property Minimized: Boolean;
    property WindowHidden: Boolean;
    property ShowHorizontalScroll: Boolean;
    property ShowVerticalScroll: Boolean;
    property ShowSheetTabs: Boolean;
    property XWindow: Integer;
    property YWindow: Integer;
    property WindowWidth: Integer;
    property WindowHeight: Integer;
    property TabRatio: Integer;
    property FirstSheet: Integer;
    property AutoFilterDateGrouping: Boolean;
    property Date1904: Boolean;
    // Workbook calculation policy
    property Iterate: Boolean;
    property IterateCount: Integer;
    property IterateDelta: Double;
    property CalcId: Integer;
    property FullCalcOnLoad: Boolean;
    property CalcMode: WideString;
    property RefMode: WideString;
    property ForceFullCalc: Boolean;
    property CalcCompleted: Boolean;
    property CalcOnSave: Boolean;
    property FullPrecision: Boolean;
    property ConcurrentCalc: Boolean;
    property ConcurrentManualCount: Integer;
    function CreateWorkspaceWorkbook: IXLSWorkspaceWorkbook;
    procedure RegisterExternalWorkbook(const AWorkbookName: WideString;
      AWorkbook: TXLSXWorkbook);
    procedure UnregisterExternalWorkbook(const AWorkbookName: WideString);
    property SourceFormat: TXLSXFileFormat;
    property IndexedColor[Index: Integer]: LongWord;
    function  NearestIndexedColor(AArgb: LongWord;
      out AMatch: TXLSNearestIndexedColorMatch): Boolean;
    function  ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
    function  BuildBiffPalettePlan: TXLSBiffPalettePlan;
    function  ApplyBiffPalettePlan(
      const APlan: TXLSBiffPalettePlan): Boolean;
    function  HasCustomIndexedColor(Index: Integer): Boolean;
    function  CustomIndexedColorCount: Integer;
    procedure ResetIndexedColors;
    property Sheets: TXLSXSheets;
    property Fonts: TXLSXFonts;
    property Fills: TXLSXFills;
    property Borders: TXLSXBorders;
    property NumberFormats: TXLSXNumberFormats;
    property Alignments: TXLSXAlignments;
    property DefinedNames: TXLSXDefinedNames;
    property ExternalLinks: TXLSXExternalLinks;
    property ExternalWorkspace: TXLSWorkbookWorkspace;
  end;
      

Miembros

Sheetshoja de cálculo colección. See TXLSXSheets
Fontslibro-level fuente palette. celdas pick fuente por setting TXLSXCell.FontIndex 1-basado índice en este colección. See TXLSXFont / TXLSXFonts
FillsPaleta de rellenos del libro TXLSXCell.FillIndex a un índice basado en 1 dentro de esta colección. Vea TXLSXFill / TXLSXFills
BordersPaleta de bordes a nivel del libro. Las celdas eligen un borde estableciendo TXLSXCell.BorderIndex a un índice basado en 1 dentro de esta colección. Vea TXLSXBorder / TXLSXBorders
NumberFormatsPaleta de formatos numéricos personalizados a nivel del libro. Las celdas eligen un formato estableciendo TXLSXCell.NumberFormatIndex a un índice basado en 1 dentro de esta colección. Vea TXLSXNumberFormat / TXLSXNumberFormats
DefinedNamesRangos con nombre a nivel del libro (con ámbito del libro o de la hoja). Vea TXLSXDefinedName / TXLSXDefinedNames
CalculateCompila y evalúa una cadena de fórmula de Excel contra la hoja activa, y un = inicial se acepta Se evalúan referencias de celdas, rangos, fórmulas almacenadas en las celdas referenciadas, referencias entre hojas, nombres definidos por fórmulas anidados, arreglos de difusión (broadcast) con errores por celda, arreglos de regresión y predicción multivariable, y las funciones soportadas de texto, fecha, día laborable, ingeniería/conversión de bases, bit a bit, estadística, agregación y matemáticas, todo a través del motor de fórmulas compartido de HotXLS Vea OnUserFunction para manejar funciones personalizadas o no compatibles
CreateLoadedCellCursorCrea un cursor de estado constante por filas sobre los valores y fórmulas XLSX almacenados, con una sobrecarga que también emite celdas en blanco con estilo independiente como xlckBlank. Los bloques dispersos y el almacenamiento empaquetado se recorren sin materializar la representación empaquetada. Vea CreateLoadedCellCursor method
CreateReadOnlyViewCrea una vista de modelo compartido en tiempo constante con una hoja activa local, instantáneas por valor, resultados de fórmula en caché, evaluación de fórmulas aislada opcional, lecturas directas de celdas empaquetadas y ciclo de vida con conteo de referencias a través de IXLSXWorkbookOwner, and fail-fast write exclusion; the IXLSReadOnlyWorkbookView libro-level borde palette. celdas pick borde por setting SheetCount 1-basado índice en este colección. See TXLSXBorder / TXLSXBorders
SaveSemanticSnapshot, ComputeSemanticHashPaleta de formatos numéricos del libro TXLSXNumberFormat / TXLSXNumberFormats
RenderCalibration, CaptureRenderCalibration, ResetRenderCalibrationlibro-level named rangos (libro-scoped o hoja-scoped). See TXLSXDefinedName / TXLSXDefinedNames
CreateRenderGeometryEvalúa fórmulas en la hoja activa OnUserFunction
OnUserFunction, OnUserFunctionExCallback used by Calculate cuando una fórmula llama a una función personalizada o no compatible. Vea callback de OnUserFunction / OnUserFunctionEx
AllowUnsafeFormulaCallbacksSu valor predeterminado es false y evita que los nombres de funciones externas o de estilo macro peligrosos lleguen a los manejadores de funciones de usuario antes de evaluar los argumentos. Vea callback safety policy
GetSheetNames(FileName, AList), GetSheetNames(Stream, AList)Reads xl/workbook.xml y agrega los nombres de las hojas a AList en el orden del libro sin cargar el XML de las hojas. La sobrecarga con stream espera un stream de paquete XLSX completo. Devuelve la cantidad de nombres leídos, o -1 handle custom o unsupported funciones
AlignmentsCallback usado por TXLSXCell.AlignmentIndex cuando fórmula calls custom o unsupported función. See callback de OnUserFunction / OnUserFunctionEx
Document propertiesLee los nombres de hoja desde xl/workbook.xml XML, XLSX docProps/core.xml + docProps/app.xml en SaveAs (de lo contrario, el libro conserva el conjunto mínimo de partes)
ProtectWorkbook / UnProtectWorkbookAlternador de protección del libro con un hash de contraseña heredado opcional de 16 bits y LockStructure / LockWindows flags. Reflected as <workbookProtection> in xl/workbook.xml
LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefinedLoadVbaProjectFromFile imports a raw vbaProject.bin payload; VbaProject exposes the bytes; HasVbaProject and read-only VbaProjectDefined ambos reportan si hay un payload presente. Para guardar, use la .xlsm extensión cuando las macros deben quedar habilitadas en Excel
ParsedVBAProjectRead-only parsed view of the current vbaProject.bin del payload. Cuando el payload es un almacenamiento OLE VBA válido, devuelve un TXLSVBAProject que expone nombres de módulos y texto fuente; de lo contrario, devuelve nil. The raw VbaProject del payload siguen siendo los bytes autoritativos usados para el round-trip de SaveAs/Open
AddChartSheet(Name, Type, Title)Creates a worksheet flagged IsChartSheet = True and seeds Charts[0] libro-level celda-alignment palette. celdas pick entrada por setting xl/chartsheets/sheetN.xml1-basado índice en este colección. See TXLSXAlignment
ParallelParsePropiedades del documento LastModifiedBy, AppVersion, SaveAs Open pasa las entradas ZIP de las hojas directamente a inflaters y lectores XML locales al worker. No se retienen copias de staging del XML de hoja inflado, y el origen del paquete se bloquea solo para cada lectura posicionada. Establezca False para parsear una hoja a la vez. El valor predeterminado es True
ParallelParseThreadsEstablece la cantidad máxima de flujos de hoja que se parsean concurrentemente durante Open. Cero selecciona la cantidad automática de workers, y los valores positivos fijan un tope explícito. Los conjuntos de trabajo activos de inflaters y lectores XML están acotados por este valor
StreamingWriteWhen True, SaveAs uses WriteWorksheetXmlStreaming por hoja — no se mantiene caché de sheetXmls, sharedStrings.xml se emite al final después de que cada hoja haya llenado el SST. Combinado con el TXLSWideStringBuilder esto mantiene la memoria lineal en hojas grandes. El valor predeterminado es False (comportamiento existente)
PreserveUnsupportedParts / ClearUnsupportedPartsPreserveUnsupportedParts tiene True como valor predeterminado y conserva las partes de paquete desconocidas alcanzables por relaciones, más las declaraciones de namespace foráneas de la raíz del libro, los atributos de markup-compatibility y los <extLst> libro protection toggle con optional 16-bit legacy contraseña hash y ClearUnsupportedParts/ UnsupportedPartCount flags. Reflected as UnsupportedPartBytes en xl/libro.xml
PreserveRawPartsCarga del proyecto VBA
SaveAsEncrypted / OpenEncrypted / CanReadEncryptedVista analizada del proyecto VBA OLE, VBA, SaveAs SaveAsEncrypted AddChartSheet(Name, Type, Title) CanReadEncrypted Crea una hoja de gráfico SaveAs OpenEncrypted TXLSXChart Open StreamingWrite EXlsxEncryptionNotImplemented Compatibilidad de escritura con cifrado ECMA-376 ECMA, AES, OLE, NI, OLE2
SaveAs(FileName)Escribe el libro en el archivo indicado. Devuelve 1 si tiene éxito y un valor negativo si falla; si el libro no tiene hojas, se agrega una hoja Sheet1 predeterminada antes de escribir
Esta sobrecarga y SaveAs(FileName, FileFormat) preparan la salida por etapas antes de reemplazar el destino Si el reemplazo falla, el valor de retorno es -1 y LastDiagnostic reporta xlsDiagnosticOutputCommitFailed (1005), el NativeCodeoriginal de Windows y su mensaje de error del sistema El destino anterior y el FileName del libro quedan sin cambios; la salida temporal se libera y un guardado posterior borra el diagnóstico anterior
SaveAs(FileName, FileFormat)Acepta xlsxOpenXMLWorkbook para la salida OOXML normal, xlsxOpenDocumentSpreadsheet para ODS, xlsxOpenXMLTemplate para una plantilla XLTX sin macros o xlsxOpenXMLMacroEnabledTemplate para una plantilla XLTM, con salida buffered y en streaming soportadas para todas las opciones OOXML
La salida de plantillas escribe application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml para /xl/workbook.xml; use la extensión .xltx en los archivos y application/vnd.openxmlformats-officedocument.spreadsheetml.template al servir el paquete por HTTP
El formato debe elegirse explícitamente: ni la extensión del archivo ni una plantilla importada cambian la salida predeterminada de SaveAs
Si hay un proyecto VBA presente, la salida XLTX devuelve -1 con un diagnóstico de formato no soportado antes de escribir el destino; XLTM preserva un proyecto VBA existente y también acepta un libro sin macros
SaveAsODS sigue siendo el atajo designado para la salida ODS, con el control opcional TODSExportOptions
GetConversionReport / SaveAsChecked Permite inspeccionar un reporte de conversión de funciones conocidas, propiedad del llamador y sin mutaciones, o rechazar funciones degradadas y descartadas antes de escribir dejando AllowLossy=False El guardado explícito con pérdidas sigue rechazando las conversiones no soportadas; consulte la fidelidad de cálculo y conversión para los límites de destino, propiedad, diagnóstico y preservación
SaveAs(Stream) / SaveAs(Stream, FileFormat)Escribe el libro directamente en cualquier TStream, y la sobrecarga con FileFormat acepta xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet, xlsxOpenXMLTemplateo xlsxOpenXMLMacroEnabledTemplate para libros OOXML en memoria, hojas de cálculo ODS, plantillas XLTX o plantillas XLTM
Devuelve 1 si tiene éxito, y los guardados a flujo respetan RecalcBeforeSave: el modo manual conserva las cachés de fórmulas existentes, mientras que las políticas dirty y always las actualizan antes de la serialización
El llamador conserva la propiedad del flujo; la cancelación antes de que comience la escritura preserva su contenido y su posición, mientras que un fallo después de que la serialización comienza puede dejar salida parcial
Open(FileName)Lee un archivo .xlsx de OOXML y reemplaza el Sheets collection with its contents. Returns 1 Carga un paquete OOXML .xlsx OOXML, xlsx
Open(FileName, Password)Reserved para future encrypted XLSX soporte. Behaves like Open(FileName) today — contraseña es ignored
Open(Stream)Reads OOXML.xlsx archive desde TStream. devuelve 1 on success
OpenCSV(FileName) / OpenCSV(Stream)Importación de CSV o TSV CSV, TSV, BOM, UTF-8, UTF-16, RFC,, ;, tabulación o barra vertical), detección de codificación UTF-8 / UTF-16 basada en BOM, campos entrecomillados al estilo RFC 4180 e inferencia opcional de tipos de valor a través de ADetectTypes overloads. Calling Open(FileName) on .csv or .tsv se enruta automáticamente a este importador. Vea método OpenCSV
OpenODS(FileName) / OpenODS(Stream)Importación de ODS OpenDocument, AutoFilter, OpenFormula, ODS.odsSaveAsODS(FileName) / SaveAsODS(Stream) content.xml, shared style information from styles.xmlExporta ODS como OpenDocument Spreadsheet OpenDocument, ODF, AutoFilter, HotXLS
SaveAsODS(FileName) / SaveAsODS(Stream), with optional TODSExportOptionsGuarda el libro como un paquete OpenDocument Spreadsheet válido. Escribe directamente el mimetype de ODF, el manifiesto, los metadatos, los estilos y el contenido de las hojas de cálculo, transportando valores con tipos, fórmulas, estilos, texto enriquecido, dimensiones, combinaciones, hipervínculos, imágenes, gráficos, rangos con nombre, rangos de AutoFilter, formatos condicionales, validaciones de datos, paneles inmovilizados, configuración de página, encabezados y pies de página, rangos de impresión, saltos de página manuales, grupos de esquema, color de pestaña y visibilidad de hojas donde esas funciones estén representadas en el modelo de libro de HotXLS. Pasar opciones de exportación, incluido nil, conserva la política de recálculo, la cancelación del progreso, el diagnóstico y la protección de escritura normales. La salida a archivo prepara un archivo hermano y reemplaza el destino solo después de una serialización exitosa; un fallo de serialización o una cancelación antes de la confirmación preservan el destino previo. El progreso de escritura reporta cada tabla completada, y ppsEnd es una notificación terminal cuya petición de Abort no puede cancelar un guardado ya completado. La salida a flujo conserva la propiedad del llamador y el comportamiento ordinario de guardado a flujo, que puede dejar salida parcial después de que la serialización haya comenzado
TODSExportOptionsReporta la familia de paquete cargada en la llamada Generator o meta:generator exitosa más reciente. Devuelve meta.xmlpara libros y plantillas OOXML, incluidos los XLTX, y IncludeCharts para ODS; un libro recién creado reporta IncludeImages hasta que se abre un archivo. Esta propiedad no elige el formato de salida
GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList)Valor de color indexado ARGB, OOXML, SaveAs content.xml into AList sin reiniciar ni llenar el libro. Úselo cuando un selector de archivos o un flujo de importación necesita los nombres de las hojas antes de cargar el libro
SaveAsCSV overloadsCuatro sobrecargas (FileName o Stream × hoja activa predeterminada / SheetIndex + Delimiter explícitos). Escribe la hoja elegida como CSV UTF-8 con BOM. Los valores de fecha se renderizan como yyyy-mm-dd hh:nn:ss; las celdas de fórmula se calculan antes de la exportación, y el texto de la fórmula se usa solo cuando el cálculo no está disponible Devuelve 0 en caso de éxito
SaveAsHTML overloadsOptions overloads accept TXLSXHtmlExportOptions for Title, WriteDocument, IncludeStyles, IncludeBOM, and TableClass. Set WriteDocument to False for a table fragment; set IncludeBOM to False al incrustar la salida en una respuesta UTF-8 existente. La salida exportada ahora conserva los hipervínculos de celda como <a> anchors and anchored images as inline data: como URI de imagen; la exportación a nivel del libro incluye anclas fuera de las celdas con contenido. Los comentarios de celda también se emiten de forma escapada como <td>title atributos, y la exportación a nivel del libro incluye anclas de solo comentario. Cuando IncludeStyles is enabled, explicit ColWidth values are emitted as <col> widths and explicit RowHeight values as <tr> como estilos de altura. Los runs de texto enriquecido de las celdas se emiten de forma escapada como <span> elementos con estilos de fuente, color, énfasis y subrayado en línea cuando IncludeStyles está habilitado. Los bordes de celda se emiten como CSS border-left, border-right, border-top, and border-bottom rules when IncludeStyles esté habilitado. Las filas y columnas ocultas marcadas con RowHidden / ColHidden, además de las columnas de ancho cero explícitas, se omiten en la tabla generada y en <colgroup>. Las opciones de alineación vertical se emiten como CSS vertical-align rules when IncludeStyles is enabled
SaveAsRTF overloadsCuatro sobrecargas (FileName o Stream × hoja activa predeterminada / SheetIndex explícito). Escribe la hoja elegida como un documento RTF 1.6 con una tabla simple. Los anchos de columna se derivan de ColWidth (1 unidad de carácter ≈ 96 twips; 809 twips por defecto). Se aplican negrita / cursiva / tamaño de fuente por celda; los caracteres no ASCII se codifican como \uN? escapes unicode RTF de 16 bits con signo. Las celdas combinadas no se expanden a lo ancho. Devuelve 0 en caso de éxito
ActiveSheetÍndice basado en 1 de la hoja activa (seleccionada) (0 si no hay ninguna), que coincide con el ActiveSheetIndex. SaveAs writes activeTab="N" on <workbookView> (the OOXML activeTab en sí mismo permanece basado en 0) cuando hay que emitir opciones de vista del libro, y marca la hoja correspondiente con tabSelected="1"
Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScrollWorkbook-window chrome flags written to <workbookView>. Minimized writes minimized="1", WindowHidden writes visibility="hidden", and ShowHorizontalScroll / ShowVerticalScroll hide or show the workbook scrollbars. Open round-trips all four values
XWindow / YWindow / WindowWidth / WindowHeightWorkbook-window geometry written to <workbookView>. XWindow and YWindow store the window origin, while WindowWidth and WindowHeight guardan su tamaño. Los valores se acotan a 0..65535 y hacen round-trip al cargar
ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGroupingWorkbook-window view options written to <workbookView>. ShowSheetTabs hides or shows the sheet-tab bar, TabRatio controla el reparto de ancho entre la barra de pestañas y la barra de desplazamiento, y se acota a 0..1000, FirstSheet selecciona la primera pestaña visible como índice de hoja basado en 0 y se acota a una hoja existente, y AutoFilterDateGrouping controla la agrupación de fechas de Excel en los desplegables de AutoFilter. Open round-trips all four values
Date1904Workbook date base. False (predeterminado) = época 1900 de Windows; True = época 1904 de Mac (desplaza cada número de serie de fecha en 1462 días). Establezca esta before assigning TDateTime como valores de celda para que Excel muestre la misma fecha de calendario
Iterate / IterateCount / IterateDeltaControla el cálculo iterativo de referencias circulares IterateCount se acota a 1..32767 y su valor predeterminado es 100 IterateDelta acepta valores finitos no negativos y su valor predeterminado es 0.001 Los límites no predeterminados persisten incluso cuando Iterate is currently False
CalcMode / RefMode / CalcIdControla el modo de cálculo del libro, el estilo de referencia de fórmulas y la identidad del motor de cálculo CalcMode accepts auto, manual, or autoNoTableRefMode accepts A1 or R1C1 con entrada insensible a mayúsculas/minúsculas y salida canónica La salida moderna de errores ricos usa un CalcId emitido de al menos 191029 para que Excel interprete los errores modernos en caché, preservando los valores solicitados más altos y dejando la propiedad en memoria sin cambios
FullCalcOnLoad / ForceFullCalc / CalcCompleted / CalcOnSave / FullPrecisionControla el recálculo completo, la finalización del cálculo en caché, el recálculo antes de guardar y la política de precisión Cada valor no predeterminado emite y hace round-trip de forma independiente del <calcPr> attribute
ConcurrentCalc / ConcurrentManualCountControla el cálculo concurrente del libro y la sugerencia manual de cantidad de workers ConcurrentManualCount is clamped to zero or greater
SourceFormatReporta la familia de paquete cargada por el Open o OpenODS exitoso más reciente, devolviendo xlsxOpenXMLWorkbook para libros y plantillas OOXML, incluidos XLTX y XLTM, xlsxOpenDocumentSpreadsheet para ODS y xlsxExcelBinaryWorkbook para el subconjunto soportado de valores y estilos XLSB
Un libro recién creado reporta xlsxOpenXMLWorkbook hasta que se abre un archivo, y esta propiedad no elige el formato de salida
IndexedColor[Index]Valor ARGB para la ranura indicada de la paleta de colores indexados OOXML (0..63). La lectura devuelve el ajuste del usuario si está establecido; de lo contrario, el valor predeterminado integrado de OOXML (XlsxDefaultIndexedPalette) Writing overrides slot N; SaveAs then emits a full <indexedColors> block with all 64 slots
ResolveIndexedColorClassifies public color indexes, BIFF icv valores, o colores indexados de OOXML, y resuelve un valor ARGB normalizado cuando la paleta del libro o una devolución de llamada explícita de color del sistema proporciona uno
NearestIndexedColorDevuelve la entrada física más cercana de la paleta mediante el comparador OKLab cacheado compartido, sin cambiar la paleta ni el estado del libro
ScanIndexedColorUsageDevuelve un inventario determinista de 56 ranuras con los colores de la paleta, conteos de definiciones y referencias, tipos de consumidores y bloqueos de preservación, sin materializar celdas ni cambiar el estado del libro
BuildBiffPalettePlanDevuelve un plan de paleta BIFF de 56 ranuras sin mutaciones, con ranuras bloqueadas, objetivos de color verdadero agregados, mapeos deterministas, identidad de origen y estadísticas ponderadas de error OKLab
ApplyBiffPalettePlanValida la identidad de origen, los metadatos de ranura, los bloqueos y los objetivos opacos antes de aplicar atómicamente todas las entradas de paleta modificadas y reconstruir una sola vez el comparador cacheado
HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColorsHasCustomIndexedColor(N) returns True when slot N was explicitly overridden CustomIndexedColorCount devuelve la cantidad de ranuras sustituidas (0 = sin <colors> block emitted by SaveAs) ResetIndexedColors Colores indexados personalizados SaveAs
ExternalLinksReferencias externas del libro TXLSXExternalLink entry holds a Target URL and a SheetNames list. SaveAs emits the <externalReferences> block in xl/workbook.xml and the corresponding xl/externalLinks/ partes. Open conserva Target y SheetNames en el ciclo de apertura; los valores de celda cacheados dentro de <sheetDataSet> are not preserved
CreateWorkspaceWorkbookReturns the revocable IXLSWorkspaceWorkbook adaptador para este libro. El adaptador preserva la identidad de origen y la generación del libro, y se desconecta antes de que se destruya el modelo del libro
ExternalWorkspaceRegistro thread-safe que preserva las rutas, consumido por la evaluación en vivo de fórmulas externas Se prefieren las identidades exactas y los alias, la búsqueda ambigua por nombre base se rechaza, y la normalización de identidades no realiza acceso implícito a archivos ni a la red Vea Live workbook workspace
RegisterExternalWorkbook / UnregisterExternalWorkbookCompatibility facade over ExternalWorkspace Referencias externas del libro URL, SaveAs, SheetNames

Ejemplo

Escribir y volver a abrir un libro de trabajo:
uses lxHandleX;

var
  wb: TXLSXWorkbook;
begin
  wb := TXLSXWorkbook.Create;
  try
    wb.Sheets.Add('Demo').Cells.Item[1, 1].Value := 'Hello';
    wb.SaveAs('demo.xlsx');

    wb.Open('demo.xlsx');
    ShowMessage(wb.Sheets[0].Cells.Item[1, 1].Value);
  finally
    wb.Free;
  end;
end;
    

Véase también