HotXLS dokumentáció

TXLSXWorkbook osztály

Legfelső szintű tároló egy Excel 2007+ (.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

Deklaráció

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;
      

Tagok

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

Példa

Munkafüzet írása és újranyitása:
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;
    

Lásd még