如何把GRIDVIEW导出HTML? 谢谢, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 假设你的gridview的id为gv StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter hw = new HtmlTextWriter(sw); gv.RenderControl(hw); Response.Write(sb.ToString()); sb就是生成的HTML代码 实际上好多把gridview表格内容导出到excel也是利用这个 GridView导出到Excel或Word文件在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户)网上查话费的页面中就有一个导出到Excel的功能,光大网上银行查看历史明细也有这些功能....,原本以为这个问题不难的,不过看到网上经常有朋友问,于是我整理了一下,供大家参考。 需要说明的是:在asp.net2.0环境下,VerifyRenderingInServerForm(Control control)这个方法不override的话,则会出现“错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内”这个错误。http://blog.csdn.net/zhoufoxcn/archive/2008/05/16/2450642.aspx思路是一样的。 Response.Clear(); Response.BufferOutput = true; //设定输出的字符集 Response.Charset = "GB2312"; //假定导出的文件名为FileName.xls Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //设置导出文件的格式 Response.ContentType = "application/ms-excel"; //关闭ViewState EnableViewState = false; System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true); System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo); System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter); gvPersonList.RenderControl(textWriter); //把HTML写回浏览器 Response.Write(stringWriter.ToString()); Response.End();关键代码带注释。 System.Text.StringBuilder strb = new System.Text.StringBuilder(); System.IO.StringWriter sw = new System.IO.StringWriter( strb ); System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter( sw ); //执行控件的render并输出到HtmlTextWriter里 this.GridView.RenderControl( htw ); string s = strb.ToString(); [300 急!!] 百度文库上的flash 做了什么处理?? #if !Publish asp.net物流管理系统问题? 做一个按钮,点击按钮可以把任一网址放入粘贴板。如何实现 报考权限问题 请教.net如何生成公私密钥 急 登陆成功后存session,点击后退按钮,又要重新登陆 ,为什么 请大侠门决!!! 如何在服务器端响应底层模块的事件并刷新网页?高分!!! cookie丢失的问题 使用TreeView的问题,很急!!! IsClientConnected的问题 DetailsView和ObjectDataSource绑定时如何修改字段值
StringWriter sw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(sw); gv.RenderControl(hw); Response.Write(sb.ToString());
sb就是生成的HTML代码
在项目中我们经常会遇到要求将一些数据导出成Excel或者Word表格的情况,比如中国移动(我是中国移动用户)网上查话费的页面中就有一个导出到Excel的功能,光大网上银行查看历史明细也有这些功能....,原本以为这个问题不难的,不过看到网上经常有朋友问,于是我整理了一下,供大家参考。 需要说明的是:在asp.net2.0环境下,VerifyRenderingInServerForm(Control control)这个方法不override的话,则会出现“错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内”这个错误。
http://blog.csdn.net/zhoufoxcn/archive/2008/05/16/2450642.aspx
思路是一样的。
Response.Clear();
Response.BufferOutput = true;
//设定输出的字符集
Response.Charset = "GB2312";
//假定导出的文件名为FileName.xls
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
//设置导出文件的格式
Response.ContentType = "application/ms-excel";
//关闭ViewState
EnableViewState = false;
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo);
System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
gvPersonList.RenderControl(textWriter);
//把HTML写回浏览器
Response.Write(stringWriter.ToString());
Response.End();关键代码
带注释。
System.Text.StringBuilder strb = new System.Text.StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter( strb );
System.Web.UI.HtmlTextWriter htw = new HtmlTextWriter( sw );
//执行控件的render并输出到HtmlTextWriter里
this.GridView.RenderControl( htw );
string s = strb.ToString();