Skip to main content

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.v23.2.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.

Run Demo: Grid - Export

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 Limitation

The ExportToCsvAsync method does not work if the grid is bound to a Server Mode data source or to a GridDevExtremeDataSource object.

See Also