.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)
type
TXLSXFileFormat = (xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet);
TODSExportOptions = class
constructor Create;
property Generator: WideString;
property IncludeCharts: Boolean;
property IncludeImages: Boolean;
end;
TXLSXWorkbook = class
constructor Create;
destructor Destroy; override;
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 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;
property OnUserFunction: TXLSUserFunctionEvent;
property OnUserFunctionEx: TXLSUserFunctionExEvent;
// 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;
// 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;
// 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;
property SourceFormat: TXLSXFileFormat;
property IndexedColor[Index: Integer]: LongWord;
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;
end;
| Sheets | hoja de cálculo colección. See TXLSXSheets |
| Fonts | libro-level fuente palette. celdas pick fuente por
setting TXLSXCell.FontIndex 1-basado índice en este
colección. See TXLSXFont / TXLSXFonts |
| Fills | Paleta de rellenos del libro TXLSXFill / TXLSXFills |
| Borders | libro-level borde palette. celdas pick borde
por setting TXLSXCell.BorderIndex 1-basado índice en
este colección. See TXLSXBorder / TXLSXBorders |
| NumberFormats | Paleta de formatos numéricos del libro TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | libro-level named rangos (libro-scoped o hoja-scoped). See TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | Evalúa fórmulas en la hoja activa OnUserFunction handle custom o unsupported funciones |
| OnUserFunction, OnUserFunctionEx | Callback usado por Calculate cuando
fórmula calls custom o unsupported función. See
OnUserFunction / OnUserFunctionEx callback |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | Lee los nombres de hoja desde xl/workbook.xml XML, XLSX |
| Alignments | libro-level celda-alignment palette. celdas pick
entrada por setting TXLSXCell.AlignmentIndex
1-basado índice en este colección. See
TXLSXAlignment |
| Document properties | Propiedades del documento LastModifiedBy, AppVersion, SaveAs |
| ProtectWorkbook / UnProtectWorkbook | libro protection toggle con optional
16-bit legacy contraseña hash y LockStructure /
LockWindows flags. Reflected as
<workbookProtection> en xl/libro.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | Carga del proyecto VBA |
| ParsedVBAProject | Vista analizada del proyecto VBA OLE, VBA, SaveAs |
| AddChartSheet(Name, Type, Title) | Crea una hoja de gráfico SaveAs TXLSXChart |
| StreamingWrite | Escritura en streaming por hoja SaveAs, sharedStrings.xml, SST |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | Compatibilidad de escritura con cifrado ECMA-376 ECMA, AES, OLE, NI, OLE2 |
| SaveAs(FileName) | Guarda el libro en el archivo indicado |
| SaveAs(FileName, FileFormat) | Guarda como OOXML o ODS OOXML, OpenDocument, ODS |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | Escribe el libro en un flujo XLSX, ODS, BLOB |
| Open(FileName) | 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 método OpenCSV |
| OpenODS(FileName) / OpenODS(Stream) | Importación de ODS OpenDocument, AutoFilter, OpenFormula, ODS |
| SaveAsODS(FileName) / SaveAsODS(Stream) | Exporta ODS como OpenDocument Spreadsheet OpenDocument, ODF, AutoFilter, HotXLS |
| TODSExportOptions | Control de la exportación ODS ODS, HotXLS |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | Lectura de nombres de hoja ODS ODS |
| SaveAsCSV overloads | Sobrecargas de exportación CSV FileName, SheetIndex, UTF-8, CSV, BOM |
| SaveAsHTML overloads | Sobrecargas de exportación HTML TXLSXHtmlExportOptions Sobrecargas de exportación HTML UTF-8, URIs, CSS |
| SaveAsRTF overloads | Sobrecargas de exportación RTF FileName, SheetIndex, RTF, ASCII |
| ActiveSheet | Hoja activa XLS, OOXML |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | Banderas de ventana para minimizar y barras de desplazamiento |
| XWindow / YWindow / WindowWidth / WindowHeight | Geometría de la ventana |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | Opciones de vista de la ventana del libro AutoFilter |
| Date1904 | Base de fecha del libro before Base de fecha del libro |
| SourceFormat | Reports package family loaded por most recent successful Open o OpenODS call. It devuelve xlsxOpenXMLWorkbook para XLSX y xlsxOpenDocumentSpreadsheet para ODS; newly created libro reports xlsxOpenXMLWorkbook until archivo es opened |
| IndexedColor[Index] | Valor de color indexado ARGB, OOXML, SaveAs |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | Colores indexados personalizados SaveAs |
| ExternalLinks | Referencias externas del libro TXLSXExternalLink Referencias externas del libro URL, SaveAs, SheetNames |
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;