مستندات HotXLS

کلاس TXLSXWorkbook

ظرف سطح بالا برای یک Workbook Excel 2007+ (.xlsx). در lxHandleX اعلان شده است. یک مجموعه TXLSXSheets و مجموعه‌های سطح Workbook نگه می‌دارد

اعلان

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

مثال

نوشتن و بازگشایی مجدد یک Workbook:
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;
    

همچنین ببینید