【问题标题】:Excel export is not working with WebControl tableExcel 导出不适用于 WebControl 表
【发布时间】:2013-10-21 17:07:09
【问题描述】:

在我的应用程序中,我已将 sql 数据源绑定到网格视图,单击导出按钮后,我在数据表中获取了 gridviews 数据源并创建了 webControl 表并将该控件写入 xls 文件。但我得到以下错误:

无法评估表达式,因为代码已优化或本机框架位于调用堆栈顶部。

我的代码如下:

HttpResponse Response = HttpContext.Current.Response;
Response.Clear();
string StudNm = Request["hidStudnm"];
Response.AddHeader("content-disposition", "attachment;filename=" + "StudentPasswordReport" + ".xls");

Response.Charset = "";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

System.Web.UI.WebControls.Table tblRept;
tblRept = CreateTable(exportDt);
tblRept.RenderControl(htmlWrite);

请告诉我为什么会发生这个错误,我该如何解决这个错误

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    你可以试试这个

        DataTableToExcel(exportDt);
    
        private void DataTableToExcel(DataTable dataTable)
        {
            StringWriter writer = new StringWriter();
            HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
            GridView gridView = new GridView();
            gridView.DataSource = dataTable;
            gridView.AutoGenerateColumns = true;
            gridView.DataBind();
            gridView.RenderControl(htmlWriter);
            htmlWriter.Close();
    
            Response.Clear();
            Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
            Response.Charset = "";
            Response.Write(writer.ToString());
            Response.End();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多