ExportGridToXLSXStream(TStream,TcxGrid,Boolean,Boolean,Boolean,TObject) Method
Exports content of a data grid control to a stream in Office Open XML spreadsheet format (XLSX).
Declaration
procedure ExportGridToXLSXStream(AStream: TStream; AGrid: TcxGrid; AExpand: Boolean = True; ASaveAll: Boolean = True; AUseNativeFormat: Boolean = True; AHandler: TObject = nil);
Parameters
Name | Type | Description |
---|---|---|
AStream | TStream | The target stream. |
AGrid | TcxGrid | The source data grid control. |
AExpand | Boolean | Optional. If |
ASaveAll | Boolean | Optional. Specifies if the procedure exports all available rows:
The |
AUseNativeFormat | Boolean | Optional. Specifies if the procedure uses the native data format:
|
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: |
Remarks
If you pass True
as the AUseNativeFormat
parameter, the ExportGridToXLSXStream
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 ExportGridToXLSXStream
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:
Code Example
The following code example exports grid content to a file in XLSX format without expanding detail pages:
uses cxGridExportLink;
// ...
var
AStream: TMemoryStream;
begin
AStream := TMemoryStream.Create;
ExportGridToXLSXStream(AStream, cxGrid1, False);
AStream.SaveToFile('Employees.xlsx');
AStream.Free;
end;
The following image demonstrates the exported content of a memory stream when it is saved to a file: