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.v24.1.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.
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.
See the following article for more information about Microsoft Excel limitations (for example, row count and column count): Excel specifications and limits.