Skip to main content
All docs
V25.1
  • cxExportTLToXLSXStream(TStream,TcxCustomTreeList,Boolean,Boolean,Boolean,TObject) Method

    Exports content of a tree list control to a stream in Office Open XML spreadsheet format (XLSX).

    Declaration

    procedure cxExportTLToXLSXStream(const AStream: TStream; ATreeList: TcxCustomTreeList; AExpand: Boolean = True; ASaveAll: Boolean = True; AUseNativeFormat: Boolean = True; AHandler: TObject = nil);

    Parameters

    Name Type Description
    AStream TStream

    The target stream.

    ATreeList TcxCustomTreeList

    The source tree list control.

    AExpand Boolean

    Optional. Specifies if all source tree list nodes are expanded:

    True
    Default. The procedure exports all rows, including the rows hidden within collapsed tree list nodes.
    False
    The procedure exports only visible rows.
    ASaveAll Boolean

    Optional. Specifies if the procedure exports all available rows:

    True
    Default. The procedure exports all or only visible rows depending on the AExpand parameter value.
    False
    The procedure exports only selected rows.
    AUseNativeFormat Boolean

    Optional. Specifies if the procedure uses the native data format:

    True
    Default. The procedure attempts to convert display text of grid cells to their underlying data format (Currency, Date, Time, Numeric, etc.). Refer to the Remarks section for the list of supported in-place editors and corresponding data formats.
    False
    The procedure exports display text as string values.
    AHandler TObject

    Optional. Specifies a handler object that should implement the IcxExportBeforeSave and/or IcxExportProgress interfaces to allow you to perform specific actions before the beginning of an export operation and track its progress.

    Tip

    Refer to the following topic for detailed information on how to create and use handler objects:

    How to: Track Data Export Progress

    Remarks

    If you pass True as the AUseNativeFormat parameter, the cxExportTLToXLSX procedure attempts to convert display text of a grid item’s cells to their underlying data format (Currency, Date, Time, Numeric, etc.) If you assign an in-place editor to a cell, the export procedure selects the data format according to the following table:

    In-place Editor Data Format
    TcxCurrencyEdit Currency
    TcxMaskEdit or TcxCalcEdit Currency, if the assigned editor is bound to a dataset field whose values are formatted as currency values (TAggregateField.Currency, TBCDField.Currency, TFloatField.Currency, or TFMTBCDField.Currency). Otherwise, the data format is Number.
    TcxDateEdit Date
    TcxTimeEdit Time
    TcxSpinEdit Number

    If any other editor is assigned to a cell, the cxExportTLToXLSX procedure exports its display text regardless of the AUseNativeFormat parameter value. If it is impossible to convert display text to the target data type for any reason, the display text is exported as a string.

    Note

    The listed data formats are used for value conversion only. They do not correspond to cell number formats found in Microsoft Excel®. Populated cells have the General format.

    Summary values use the same data type as cell values against which these summaries are calculated if the following conditions are met for the corresponding summary items:

    • An empty string is assigned to a summary item’s Format property.
    • An OnGetText event handler is not assigned to a summary item.

    Code Example: Export Tree List Content to an XLSX Stream

    VCL Tree List: A Source Tree List Example

    The following code example exports tree list content to a file in XLSX format:

    uses cxTLExportLink;
    // ...
    var
      AStream: TMemoryStream;
    begin
      AStream := TMemoryStream.Create;
      cxExportTLToXLSXStream(AStream, cxDBTreeList);
      AStream.SaveToFile('Departments.xlsx');
      AStream.Free;
    end;
    

    The following image demonstrates the exported content of a memory stream when it is saved to a file:

    VCL Tree List: Exported Tree List Data in XLSX Format

    See Also