首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Gridview导出为Excel

大家好,又见面了,我是你们的朋友全栈君。1.由于gridview的内容可能是分页显示的,因此,这里在每次导出excel时,先将gridview的allowpaging属性设置为false,然后databind()一下,确保搂到所有数据; 2.不用单独设置导出的路径,导出时会弹出对话框让你确认保存位置; 3.要写一个空的VerifyRenderingInServerForm方法(必须写),以确认在运行时为指定的ASP.NET 服务器控件呈现HtmlForm 控件; 4.导出后别忘记再重新设置其allowpaging属性; 当我把这些都设置好以后,点击[导出],出现了 只能在执行 Render() 的过程中调用 RegisterForEventValidation(RegisterForEventValidation can only be called during Render(); ) 的错误,又检查代码,没发现问题啊,搞了一会弄不出来,然后搜索了一下,发现了解决办法: 修改你的aspx文件中的: <%@ Page Language=”C#” EnableEventValidation = “false” AutoEventWireup=”true” CodeFile=”SysUser.aspx.cs” Inherits=”Autho_SysUser2″ %> 增加红色的部分就ok了。 下面是代码和截图: #region 导出为Excel public override void VerifyRenderingInServerForm(Control control) { // Confirms that an HtmlForm control is rendered for }

01

使用控件的RenderControl()方法导出Excel「建议收藏」

string strName = “HuaMingCe”; Response.Clear(); Response.Buffer = true; Response.Charset = “utf-8”; Response.AppendHeader(“Content-Disposition”, “attachment;filename=” + strName + “.xls”); Response.ContentEncoding = System.Text.Encoding.GetEncoding(“utf-8”);//设置输出流为简体中文 Response.ContentType = “application/ms-excel”;//设置输出文件类型为excel文件。 this.EnableViewState = false; System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo(“ZH-CN”, true); System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); if (GridViewMaster != null) //GridViewMaster 是GridView控件 { GridViewMaster.RenderControl(oHtmlTextWriter);//将服务器控件的内容输出 } Response.Write(oStringWriter.ToString()); Response.End();

03
领券