Skip to main content
A newer version of this page is available. .

ExportGridToCSVStream(TStream,TcxGrid,Boolean,Boolean,Char,TObject,TEncoding) Method

Exports content of a data grid control to a stream in CSV (comma-separated values) format.

Declaration

procedure ExportGridToCSVStream(AStream: TStream; AGrid: TcxGrid; AExpand: Boolean = True; ASaveAll: Boolean = True; const ASeparator: Char = ','; AHandler: TObject = nil; AEncoding: TEncoding = nil);

Parameters

Name Type Description
AStream TStream

The target stream.

AGrid TcxGrid

The source data grid control.

AExpand Boolean

Optional. If True, the procedure exports all rows, including the rows hidden within collapsed group rows and master rows. If False, the procedure exports only visible rows.

ASaveAll Boolean

Optional. If True, the procedure exports all or visible rows, depending on the AExpand parameter value. If False, the procedure exports only selected rows. In grid mode, the ASaveAll parameter value is ignored.

ASeparator Char

Optional. Specifies the character used to delimit exported values in the resulting CSV stream. The default separator character is a comma.

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. Refer to the following topic for detailed information on how to create and use handler objects: How to: Track Data Export Progress.

AEncoding TEncoding

Optional. Specifies the character encoding format of the resulting CSV stream. If nil (in Delphi) or nullptr (in C++Builder) is passed as the AEncoding parameter, the procedure uses the TEncoding.Default encoding.

Remarks

Call the ExportGridToCSVStream procedure to export grid content to a stream in CSV format. In this format, every plain text line of values separated by commas corresponds to a data record.

Example

Source Data Grid Example

The following code example exports grid content to a file in CSV format without expanding detail pages:

var
  AStream: TMemoryStream;
begin
  AStream := TMemoryStream.Create;
  ExportGridToCSVStream(AStream, cxGrid1, False);
  AStream.SaveToFile('Employees.csv');
  AStream.Free;
end;

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

Exported Data in CSV Format

See Also