Skip to main content

DxGrid.ExportToXlsAsync(String, GridXlExportOptions) Method

Exports grid data in XLS 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 ExportToXlsAsync(
    string fileName,
    GridXlExportOptions options = null
)

Parameters

Name Type Description
fileName String

The name of the downloaded file.

Optional Parameters

Name Type Default Description
options GridXlExportOptions null

An object that contains export options.

Returns

Type Description
Task

The task that is completed when the file is downloaded.

Remarks

Call the ExportToXlsAsync method to export grid data in XLS format. The method overloads allow you to write the result to a stream (ExportToXlsAsync(Stream, GridXlExportOptions)) or to a file downloaded to a client machine (the current overload).

The method accepts a GridXlExportOptions object as a parameter. You can use this parameter to set up export settings.

Run Demo: Grid - Export

<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 XLS" OnClick="ExportXls_Click" />
@* ... *@
@code {
    IEnumerable<object> Data { get; set; }
    IGrid Grid { get; set; }
    protected override async Task OnInitializedAsync() {
        Data = await NwindDataService.GetCustomersAsync();
    }
    async Task ExportXls_Click() {
       await Grid.ExportToXlsAsync("ExportResult", new GridXlExportOptions() {
            ExportSelectedRowsOnly = true,
            CustomizeCell = OnCustomizeCell
        });
    }
    void OnCustomizeCell (GridExportCustomizeCellEventArgs args) {
        if(args.ColumnFieldName == "ContactName" && args.AreaType == SheetAreaType.DataArea)
            args.Formatting.Font = new XlCellFont() { Italic = true };
        args.Handled = true;
    }
}

For more information about data export in the Grid component, refer to the following topic: Export Data in Blazor Grid.

Export Specifics and Limitations

  • Content of templates is not exported, including detail grids.
  • Custom summaries implemented in the CustomSummary grid event, are exported as plain text.
  • Data columns anchored to the right edge become regular columns, while columns anchored to the Grid’s left edge remain frozen.
  • Appearance settings applied by style settings or in the CustomizeElement event handler are not exported. You can handle the CustomizeCell event to customize grid elements’ appearance in the the exported document.
  • The ExportToXlsAsync method does not work if the grid is bound to a Server Mode data source or to a GridDevExtremeDataSource object.

See the following article for more information about Microsoft Excel limitations (for example, row count and column count): Excel specifications and limits.

See Also