.xlsx). Деклариран в lxHandleX. Съдържа колекция TXLSXSheets, палитри и настройки
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 | работен лист колекция. See TXLSXSheets |
| Fonts | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS. TXLSXFont / TXLSXFonts |
| Fills | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS. TXLSXFill / TXLSXFills |
| Borders | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS. TXLSXBorder / TXLSXBorders |
| NumberFormats | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS. OnUserFunction Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS |
| OnUserFunction, OnUserFunctionEx | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS OnUserFunction / OnUserFunctionEx callback |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: XML, XLSX |
| Alignments | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS TXLSXAlignment |
| Document properties | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: LastModifiedBy, AppVersion, SaveAs |
| ProtectWorkbook / UnProtectWorkbook | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: workbook.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS |
| ParsedVBAProject | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: OLE, VBA, SaveAs |
| AddChartSheet(Name, Type, Title) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: SaveAs TXLSXChart |
| StreamingWrite | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: SaveAs, sharedStrings.xml, SST |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: ECMA, AES, OLE, NI, OLE2 |
| SaveAs(FileName) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS |
| SaveAs(FileName, FileFormat) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: OOXML, OpenDocument, ODS |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: XLSX, ODS, BLOB |
| Open(FileName) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: OOXML, xlsx |
| Open(FileName, Password) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: XLSX |
| Open(Stream) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: OOXML, xlsx |
| OpenCSV(FileName) / OpenCSV(Stream) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: CSV, TSV, BOM, UTF-8, UTF-16, RFC OpenCSV метод |
| OpenODS(FileName) / OpenODS(Stream) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: OpenDocument, AutoFilter, OpenFormula, ODS |
| SaveAsODS(FileName) / SaveAsODS(Stream) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: OpenDocument, ODF, AutoFilter, HotXLS |
| TODSExportOptions | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: ODS, HotXLS |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: ODS |
| SaveAsCSV overloads | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: FileName, SheetIndex, UTF-8, CSV, BOM |
| SaveAsHTML overloads | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS. TXLSXHtmlExportOptions Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: UTF-8, URIs, CSS |
| SaveAsRTF overloads | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: FileName, SheetIndex, RTF, ASCII |
| ActiveSheet | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: XLS, OOXML |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS |
| XWindow / YWindow / WindowWidth / WindowHeight | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: AutoFilter |
| Date1904 | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS. before Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS |
| SourceFormat | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: XLSX, ODS |
| IndexedColor[Index] | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: ARGB, OOXML, SaveAs |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: SaveAs |
| ExternalLinks | Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: HotXLS TXLSXExternalLink Тази част от документацията на HotXLS запазва техническата рамка и идентификаторите: 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;