Export grid to Excel not working

Hi,


I cannot export the grid please help.

@page "/DataImportantDate"

@using LibraryManagement.Models

@inject ILibraryService LibraryService

<h3>Important Dates</h3>


<div class="col-lg-12 control-section">

    <div class="content-wrapper">

        <div class="row"></div>

        <SfGrid DataSource="@ListImportantDate" ID="Grid" AllowTextWrap=true AllowExcelExport=true @ref="DefaultGrid" TValue="ImportantDate"

                Toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Cancel", "Update", "ExcelExport" })"

                AllowFiltering="true" AllowPaging="true" AllowSorting=true>

            <GridEditSettings AllowAdding="true" AllowDeleting="true" AllowEditing="true" Mode="EditMode.Dialog"></GridEditSettings>

            <GridEvents OnToolbarClick="ToolbarClickHandler" TValue="ImportantDate"></GridEvents>

            <GridPageSettings PageSize="10"></GridPageSettings>

            <GridColumns>

                <GridColumn Field="@nameof(ImportantDate.ID)" Width="30" IsPrimaryKey=true IsIdentity=true Visible=true></GridColumn>

                <GridColumn Field="@nameof(ImportantDate.DateFrom)" Width="80" EditType="EditType.DefaultEdit" Format="dd-MMM-yyyy" TextAlign="TextAlign.Right"></GridColumn>

                 <GridColumn Field="@nameof(ImportantDate.DateTo)" Width="80" EditType="EditType.DefaultEdit" Format="dd-MMM-yyyy" TextAlign="TextAlign.Right"></GridColumn>

                <GridColumn Field="@nameof(ImportantDate.Remarks)" HeaderText="Remarks" EditType="EditType.DefaultEdit" Width="250"></GridColumn>

                <GridColumn Field="@nameof(ImportantDate.DateInsert)" Width="50" DefaultValue=@dt TextAlign="TextAlign.Right"></GridColumn>

                <GridColumn Field="@nameof(ImportantDate.DateUpdate)" Width="50" DefaultValue=@dt TextAlign="TextAlign.Right"></GridColumn>

            </GridColumns>

             <GridSortSettings>

                <GridSortColumns>

                    <GridSortColumn Field="ID" Direction="SortDirection.Descending"></GridSortColumn>

                </GridSortColumns>

            </GridSortSettings>

        </SfGrid>

    </div>

</div>



@code {

    private DateTime dt = DateTime.Now;


    private SfGrid<ImportantDate> DefaultGrid;

    public IEnumerable<ImportantDate> ListImportantDate { get; set; }

    protected override void OnInitialized()

    {

        ListImportantDate = LibraryService.GetImportantDates();


    }

    public void ActionBeginHandler(ActionEventArgs<ImportantDate> Args)

    {

        if (Args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Save))

        {

            if (Args.Action == "Add")

            {

                //LibraryService.InsertDepartment(Args.Data.DateInsert = DateTime);

                //Args.Data.Status = (WeatherForecastState)Enum.Parse(typeof(WeatherForecastState), DropDownList.Value);

                Args.Data.DateInsert = DateTime.Now;

                LibraryService.InsertImportantDate(Args.Data);

            }

            else

            {

                Args.Data.DateUpdate = DateTime.Now;

                LibraryService.UpdateImportantDate(Args.Data.ID, Args.Data);

            }

        }

        if (Args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Delete))

        {

            LibraryService.DeleteImportantDate(Args.Data.ID);

        }

    }

    public void ActionCompleteHandler(ActionEventArgs<ImportantDate> Args)

    {

        if (Args.RequestType.Equals(Syncfusion.Blazor.Grids.Action.Save))

        {

            ListImportantDate = LibraryService.GetImportantDates(); //to fetch the updated data from db to Grid

        }

    }

    public async Task ToolbarClickHandler(Syncfusion.Blazor.Navigations.ClickEventArgs args)

    {

        //https://blazor.syncfusion.com/documentation/datagrid/excel-exporting

        if (args.Item.Id == "Grid") //Id is combination of Grid's ID and itemname

        {

            await ExportGrid();

        }

    }

    private async Task ExportGrid()

    {

        ExcelExportProperties ExportProperties = new ExcelExportProperties();

        ExportProperties.ExportType = ExportType.AllPages;

        ExportProperties.FileName = "Important_Date.xlsx";

        await this.DefaultGrid.ExcelExport(ExportProperties);

        //await Grid.ExportToExcelAsync();

    }

}

SAM



1 Reply 1 reply marked as answer

MS Monisha Saravanan Syncfusion Team June 7, 2022 01:41 PM UTC

Hi Sam,


Greetings from Syncfusion support.


We have checked your query and we would like to inform that we should include the item id as an combination of Grid ID (Grid) and itemname (excelexport). Kindly refer the attached code snippet and UG for your reference.


 public async Task ToolbarClickHandler(Syncfusion.Blazor.Navigations.ClickEventArgs args)

    {

        //https://blazor.syncfusion.com/documentation/datagrid/excel-exporting

        if (args.Item.Id == "Grid") //Id is combination of Grid's ID and itemname

        {

            await ExportGrid();

        }

    }

 

 public async Task ToolbarClickHandler(Syncfusion.Blazor.Navigations.ClickEventArgs args)

    {

        //https://blazor.syncfusion.com/documentation/datagrid/excel-exporting

        if (args.Item.Id == "Grid_excelexport ") //Id is combination of Grid's ID and itemname

        {

            await ExportGrid();

        }

    }

 


Reference: https://blazor.syncfusion.com/documentation/datagrid/excel-exporting


Kindly get back to us if you have further queries.


Regards,

Monisha


Marked as answer
Loader.
Up arrow icon