Grid Excel Export
You can export the grid to Excel with a click of a button. The current filter, sort, page, grouping, column order and column size are applied to the xlsx document.
When you click the Export button, your browser will receive the resulting file.
Make sure to get familiar with all the general export documentation first.
In This Article
Basics
To enable the Excel export in the Grid:
Add the Export Tool
Add the GridToolBarExcelExportTool inside the <GridToolBar>:
<GridToolBar>
<GridToolBarExcelExportTool>
Export to Excel
</GridToolBarExcelExportTool>
</GridToolBar>
If you have a custom Toolbar, add a command button with the ExcelExport command name inside a templated Grid Toolbar(<GridToolBarTemplate>).
Configure the Export Settings
To configure the Excel export settings, add the GridExcelExport tag under the GridExport tag. You may set the following options:
| Parameter | Type and Default Value | Description |
|---|---|---|
FileName | string | The name of the file. The grid will add the .xslx extension for you. |
AllPages | bool | Whether to export the current page only, or the entire data from the data source. |
For further customizations, use the GridExcelExport tag to subscribe to the Grid export events.
Set the Columns Width in Pixels
The export to Excel does not require that all columns have explicit widths set. However, if you do set the column widths, ensure you use only px.
Excel cannot parse units different than px (e.g., rem or %) and renders a collapsed (hidden) column with zero width. This is an Excel limitation. If you prefer to use different than px units in the UI, handle the OnBeforeExport event to provide the column width in pixels for the proper export.
Export the Grid to Excel
Programmatic Export
You can programmatically invoke the export feature of the Grid, by using the following methods exposed on the @ref of the Grid:
| Method | Type | Description |
|---|---|---|
SaveAsExcelFileAsync | ValueTask | Sends the exported Excel file to the browser for download. You can pass GridExcelExportOptions to customize the export. |
ExportToExcelAsync | Task<MemoryStream> | Returns the exported data as a MemoryStream. The stream itself is finalized, so that the resource does not leak. To read and work with the stream, clone its available binary data to a new MemoryStream instance. You can pass GridExcelExportOptions to customize the export. |
When exporting programmatically with a GridExcelExportOptions argument:
- The
ColumnsandDataproperties ofGridExcelExportOptionsare required. - Multi-column headers are not supported.
Invoke the export function from code
Customization
To customize the exported file, handle the OnBeforeExport or OnAfterExport events the Grid exposes.
The component allows you to control the data set that will be exported. It also provides built-in customization options for the columns such as Width, Title and more.
For more advanced customization (such as coloring the headers or bolding the titles) the Grid lets you get the MemoryStream of the file. Thus, you can customize it using the SpreadProcessing or the SpreadStreamProcessing libraries that are available with your license. Find examples on how to format the cells of the exported Excel file with RadSpreadProcessing and how to format the cells of the exported Excel file with RadSpreadStreamProcessing.
Read more about how to customize the exported file.