Документация на HotXLS

Клас TXLSXWorkbook

Контейнер от най-високо ниво за работна книга Excel 2007+ (.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;
    

Вижте също