New to Telerik UI for ASP.NET CoreStart a free 30-day trial

Exporting Multiple Grids to Excel

Updated on Mar 30, 2026

Environment

Product Version2022.2.621
ProductTelerik UI for ASP.NET Core Grid

Description

How can I export multiple Grids to the same Excel file?

Solution

The example below relies on the following key steps:

  1. Create an external button to export the data when it is clicked.
  2. Use the client-side saveAsExcel method to trigger the data export of each Grid.
  3. Handle the ExcelExport event of the two Grids and prevent their default action.
  4. Create a new Workbook by using the sheets of the Grids Workbooks and save it through the kendo.saveAs() method.
Razor
    //Export to Excel Button
    @(Html.Kendo().Button()
        .Name("exportData")
        .Content("Export to Excel")
        .Icon("file-excel")
        .Events(ev => ev.Click("exportDataClick"))
    )

    //First Grid
    @(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.ProductViewModel>()
        .Name("products")
        .Columns(columns =>
        {
            columns.Bound(p => p.ProductName);
            columns.Bound(p => p.UnitPrice);
            columns.Bound(p => p.UnitsOnOrder);
            columns.Bound(p => p.UnitsInStock);
        })
        .Events(e => e.ExcelExport("products_excelExport"))
        .Pageable()
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(20)
            .Read(read => read.Action("Excel_Export_Read", "Grid"))
        )
    )
    //Second Grid
    @(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.OrderViewModel>()    
        .Name("orders")
        .Columns(columns => {
            columns.Bound(p => p.OrderID).Filterable(false).Width(100);
            columns.Bound(p => p.Freight).Width(100);
            columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}").Width(140);
            columns.Bound(p => p.ShipName);
            columns.Bound(p => p.ShipCity).Width(150);
        })
        .Events(e => e.ExcelExport("orders_excelExport"))
        .Pageable()
        .DataSource(dataSource => dataSource
            .Ajax()
            .PageSize(20)
            .Read(read => read.Action("Orders_Read", "Grid"))
        )
    )

Starting with Kendo UI version 2024.1.130 (Q1 2024), the JSZip library is no longer distributed with Kendo UI. You must include it from an official distribution channel such as unpkg or Cloudflare. Ensure the JSZip script loads successfully before attempting Excel export operations.

For a runnable example based on the code above, refer to the REPL project on exporting multiple Grids to Excel.

More ASP.NET Core Grid Resources

See Also