DxGrid.ExportToCsvAsync(String, GridCsvExportOptions) Method
Exports grid data in CSV format and downloads the resulting file to the client machine.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v24.1.dll
NuGet Package: DevExpress.Blazor
Declaration
public Task ExportToCsvAsync(
string fileName,
GridCsvExportOptions options = null
)
Parameters
Name | Type | Description |
---|---|---|
fileName | String | The name of the downloaded file. |
Optional Parameters
Name | Type | Default | Description |
---|---|---|---|
options | GridCsvExportOptions | null | An object that contains export options. |
Returns
Type | Description |
---|---|
Task | The task that is completed when the file is downloaded. |
Remarks
Call the ExportToCsvAsync
method to export grid data in CSV format. Note that only data cell values are exported - group rows, summaries, and cell style settings are ignored.
The method overloads allow you to write the result to a stream (ExportToCsvAsync(Stream, GridCsvExportOptions)) or to a file downloaded to a client machine (the current overload). The method accepts a GridCsvExportOptions object as a parameter. You can use this parameter to set up export settings.
For more information about data export in the Grid component, refer to the following topic: Export Data in Blazor Grid.
Important
Security Considerations
Exported data can contain executable content. To prevent possible security vulnerabilities, set the EncodeExecutableContent property to true
to enclose potentially dangerous content in quotation marks prior to exporting it to the CSV format. To learn more, see the property description.
<DxGrid @ref="Grid"
Data="@Data"
SelectionMode="GridSelectionMode.Multiple">
<Columns>
<DxGridSelectionColumn Width="60px" AllowSelectAll="true" />
<DxGridDataColumn FieldName="ContactName" Width="15%" />
<DxGridDataColumn FieldName="ContactTitle" Width="15%" />
<DxGridDataColumn FieldName="CompanyName" Width="20%" />
<DxGridDataColumn FieldName="Country" Width="15%" />
<DxGridDataColumn FieldName="FullAddress" UnboundType="GridUnboundColumnType.String"
UnboundExpression="[City] + ' - ' + [PostalCode] + ' - ' + [Address]" />
</Columns>
</DxGrid>
@* ... *@
<OptionButton Text="Export to CSV" OnClick="ExportCsv_Click" />
@* ... *@
@code {
IEnumerable<object> Data { get; set; }
IGrid Grid { get; set; }
protected override async Task OnInitializedAsync() {
Data = await NwindDataService.GetCustomersAsync();
}
async Task ExportCsv_Click() {
await Grid.ExportToCsvAsync("ExportResult", new GridCsvExportOptions() {
ExportSelectedRowsOnly = true,
});
}
}
Large Data Limitations
If the grid is bound to a GridDevExtremeDataSource object, the following limitations apply:
- If you want to export selected rows only, specify the KeyFieldName property.
- If you export grouped data, you may see a different group breakdown in the resulting document. This happens because export depends on a database collation. For example, the same string with different capitalization may form multiple groups in the exported document. The Grid component puts such values into a single group.