我在线学习本教程,将信息从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表单中,我将不胜感激。
答案 0 :(得分:0)
我仍然不知道问题所在。但是当我通过visual studio工具创建SQL Grid View时,它并没有起作用。当我在C#中手动创建网格视图时,它现在可以正常工作。如果有人可以告诉我这是什么区别,那将是有帮助的。