将Excel导出到SQL - InvalidOperationException

时间:2015-01-06 20:37:09

标签: c# asp.net sql-server excel webforms

我在线学习本教程,将信息从SQL数据库传输到Excel工作表。 http://www.c-sharpcorner.com/UploadFile/cd7c2e/export-sql-data-to-excel-using-Asp-Net/

目前我已在SQL数据库中拥有数据,因此我正在使用第4步。在Graph.aspx文件中,我创建了一个按钮

<asp:Button ID ="btnSQLToExcel" runat ="server" Text ="Download SQL To Excel" OnClick="btnLoad_Click" />

然后在Graph.aspx.cs文件中,单击按钮时我有以下方法:

protected void btnLoad_Click(object sender, EventArgs e)
    {
        if(GridView1.Visible)
        {
            Response.AddHeader("content-disposition", "attachment; filename = GridViewToExcel.xls");
            Response.ContentType = "application/excel";
            StringWriter sWriter = new StringWriter();
            HtmlTextWriter hTextWriter = new HtmlTextWriter(sWriter);
            GridView1.RenderControl(hTextWriter);
            Response.Write(sWriter.ToString());
            Response.End();
        }
    }

public override void VerifyRenderingInServerForm(Control control)
    {
    }

如果我拿出最后一个方法,它会显示他在网站上描述的错误'控件''GridView''类型'GridView'必须放在带有runat = server'的表单标签内。但是通过添加第二种方法,这应该处理这个,但我得到以下错误。

System.Web.dll中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理。

其他信息:只能在Render();

期间调用RegisterForEventValidation

我已经超出了我的深度,所以如果有人能让我知道我做错了什么,甚至更好的方法将sql转换为excel在web表单中,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我仍然不知道问题所在。但是当我通过visual studio工具创建SQL Grid View时,它并没有起作用。当我在C#中手动创建网格视图时,它现在可以正常工作。如果有人可以告诉我这是什么区别,那将是有帮助的。