.xlsx) munkafüzethez. Deklarálva a
lxHandleX-ben. Tart egy TXLSXSheets
gyűjteményt és biztosít SaveAs / Open belépési
pontokat OOXML munkafüzetekhez, CSV / TSV importhoz és OpenDocument Spreadsheet
(.ods) olvasási/írási munkafolyamatokhoz
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 | munkalap gyűjtemény. See TXLSXSheets |
| Fonts | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS. TXLSXFont / TXLSXFonts |
| Fills | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS. TXLSXFill / TXLSXFills |
| Borders | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS. TXLSXBorder / TXLSXBorders |
| NumberFormats | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS. OnUserFunction A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS |
| OnUserFunction, OnUserFunctionEx | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS OnUserFunction / OnUserFunctionEx callback |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: XML, XLSX |
| Alignments | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS TXLSXAlignment |
| Document properties | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: LastModifiedBy, AppVersion, SaveAs |
| ProtectWorkbook / UnProtectWorkbook | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: workbook.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS |
| ParsedVBAProject | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: OLE, VBA, SaveAs |
| AddChartSheet(Name, Type, Title) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: SaveAs TXLSXChart |
| StreamingWrite | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: SaveAs, sharedStrings.xml, SST |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: ECMA, AES, OLE, NI, OLE2 |
| SaveAs(FileName) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS |
| SaveAs(FileName, FileFormat) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: OOXML, OpenDocument, ODS |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: XLSX, ODS, BLOB |
| Open(FileName) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: OOXML, xlsx |
| Open(FileName, Password) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: XLSX |
| Open(Stream) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: OOXML, xlsx |
| OpenCSV(FileName) / OpenCSV(Stream) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: CSV, TSV, BOM, UTF-8, UTF-16, RFC OpenCSV metódus |
| OpenODS(FileName) / OpenODS(Stream) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: OpenDocument, AutoFilter, OpenFormula, ODS |
| SaveAsODS(FileName) / SaveAsODS(Stream) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: OpenDocument, ODF, AutoFilter, HotXLS |
| TODSExportOptions | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: ODS, HotXLS |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: ODS |
| SaveAsCSV overloads | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: FileName, SheetIndex, UTF-8, CSV, BOM |
| SaveAsHTML overloads | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS. TXLSXHtmlExportOptions A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: UTF-8, URIs, CSS |
| SaveAsRTF overloads | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: FileName, SheetIndex, RTF, ASCII |
| ActiveSheet | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: XLS, OOXML |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS |
| XWindow / YWindow / WindowWidth / WindowHeight | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: AutoFilter |
| Date1904 | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS. before A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS |
| SourceFormat | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: XLSX, ODS |
| IndexedColor[Index] | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: ARGB, OOXML, SaveAs |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: SaveAs |
| ExternalLinks | A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: HotXLS TXLSXExternalLink A HotXLS dokumentáció ezen szakasza megőrzi a műszaki terminológiát és az azonosítókat: 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;