vcl-cxgridexportlink-dot-exportgridtocsvstream-x28-fb0620d3-x29.md
Exports content of a data grid control to a stream in CSV (comma-separated values) format.
procedure ExportGridToCSVStream(AStream: TStream; AGrid: TcxGrid; AExpand: Boolean = True; ASaveAll: Boolean = True; const ASeparator: Char = ','; AHandler: TObject = nil; AEncoding: TEncoding = nil);
| 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. Specifies if the procedure exports all available rows:
True Default. The procedure exports all or only visible rows depending on the AExpand parameter value.FalseThe procedure exports only selected rows.
The ASaveAll parameter value is ignored in grid mode.
| | 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 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
| | 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 ( default ), the procedure uses the TEncoding.Default encoding.
|
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.
The following code example exports grid content to a file in CSV format without expanding detail pages:
uses cxGridExportLink;
// ...
var
AStream: TMemoryStream;
begin
AStream := TMemoryStream.Create;
ExportGridToCSVStream(AStream, cxGrid1, False);
AStream.SaveToFile('Employees.csv');
AStream.Free;
end;
#include "cxGridExportLink.hpp"
// ...
TMemoryStream *AStream = nullptr;
AStream = new TMemoryStream();
ExportGridToCSVStream(AStream, cxGrid1, false);
AStream->SaveToFile("Employees.csv");
delete AStream;
The following image demonstrates the exported content of a memory stream when it is saved to a file:
See Also