DxGrid.ExportToXlsxAsync(String, GridXlExportOptions) Method
Exports grid data in XLSX 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 ExportToXlsxAsync(
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 XLSX format. The method overloads allow you to write the result to a stream (ExportToXlsxAsync(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.
<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 XLSX" OnClick="ExportXlsx_Click" />
@* ... *@
@code {
IEnumerable<object> Data { get; set; }
IGrid Grid { get; set; }
protected override async Task OnInitializedAsync() {
Data = await NwindDataService.GetCustomersAsync();
}
async Task ExportXlsx_Click() {
await Grid.ExportToXlsxAsync("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
ExportToXlsxAsync
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.