Skip to main content
All docs
V23.2

cxExportTLToExcelStream(TStream,TcxCustomTreeList,Boolean,Boolean,Boolean,TObject) Method

Exports content of a tree list control to a stream in Microsoft Excel® binary format (XLS).

Declaration

procedure cxExportTLToExcelStream(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.

AExpand Boolean

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

  • If True (default), the procedure exports all rows, including the rows hidden within collapsed list nodes.
  • If False, the procedure exports only visible nodes.
ASaveAll Boolean

Optional. Specifies if the procedure exports all available rows:

  • If True (default), the procedure exports all or only visible nodes, depending on the AExpand parameter value.
  • If False, the procedure exports only selected nodes.
AUseNativeFormat Boolean

Optional. If True, the procedure attempts to convert display text of a grid item’s cells to their underlying data format (that is, Currency, Date, Time, Numeric, etc.). The table below lists supported in-place editors and the corresponding data formats. If 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 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

VCL Tree List: A Source Tree List Example

uses cxTLExportLink;
// ...
var
  AStream: TMemoryStream;
begin
  AStream := TMemoryStream.Create;
  cxExportTLToExcelStream(AStream, cxDBTreeList1);
  AStream.SaveToFile('Departments.xls');
  AStream.Free;
end;

VCL Tree List: Exported Tree List Data in XLS Format

See Also