Exporting Gridview to .xls but excel file is not generating

I have written the below code to generate the excel file.

private void ExportReport(IList ApproveListData, string fileName)        
    {

        var gv = new GridView();
        gv.AllowPaging = false;
        gv.DataSource = ApproveListData;
        gv.DataBind();
        Response.ClearContent();
        Response.Buffer = true;
        Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
        Response.ContentType = "application/ms-excel";
        Response.Charset = "";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        gv.RenderControl(htw);
       Response.Output.Write("<b> Pending approval report  </b>");
        Response.Output.Write(sw.ToString());
        Response.Flush();

        Response.End();
    }

I have checked data in the grid view but excel file is not generating.

Please help. Thanks in advance.