将GridView导入到Excel和word(完全可实现).doc_第1页
将GridView导入到Excel和word(完全可实现).doc_第2页
将GridView导入到Excel和word(完全可实现).doc_第3页
将GridView导入到Excel和word(完全可实现).doc_第4页
将GridView导入到Excel和word(完全可实现).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

gridview 导入指定的word模版1.将GridView导入到Excel和word需要注意两个地方:1.EnableEventValidation=false 必须加2.下面这个事件必须加public override void VerifyRenderingInServerForm(Control control) /base.VerifyRenderingInServerForm(control); 在我的资源里有相应的原代码下载 将Gridview导出到Excel,Word asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= SelectCommand=SELECT * FROM stu using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.IO;public partial class 将GridView导出到Excel_excel : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) public void ExportToExcel(string FileType, string FileName) Response.Charset = GB2312; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AppendHeader(Content-Disposition, attachment;filename= + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString(); Response.ContentType = FileType; this.EnableViewState = false; StringWriter tw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(tw); GridView1.RenderControl(hw); Response.Write(tw.ToString(); Response.End(); /导出到Excel protected void Button1_Click(object sender, EventArgs e) ExportToExcel(application/ms-excel,学生信息.xls); /导出到Word protected void Button2_Click(object sender, EventArgs e) ExportToExcel(application/ms-excel, 学生信息.doc); /ExportToExcel(application/ms-word, 学生信息.doc);/都可以 /这个事件必须加 public override void VerifyRenderingInServerForm(Control control) /base.VerifyRenderingInServerForm(control); 当然上面的这些东东也是我从CSDN上面学来的,有一篇是看的青青月儿的,还有一篇,忘了是谁的啦,反正挺感谢的。2.重载VerifyRenderingInServerForm今天在做一个AjaxPro的应用时,VerifyRenderingInServerForm给我带来了麻烦,在网上找了找,发现大多数人的解决方法就是重载VerifyRenderingInServerForm,然后让它什么也不做。publicoverridevoidVerifyRenderingInServerForm(Controlcontrol)/base.VerifyRenderingInServerForm(control);这样做的确解决了我遇到的问题,但我看帮助对这个方法的说明,强调没有必要不要重写。备注如果该页当前不处于页处理中的呈现阶段,且位于标记内,则该方法将引发异常。需要位于服务器窗体内的控件可以在呈现期间调用该方法,以便在它们被放置到外面时显示明确的错误信息。发送回或依赖于注册的脚本块的控件应该在Control.Render方法的重写中调用该方法。呈现服务器窗体元素的方式不同的页可以重写该方法以在不同的条件下引发异常。如果回送或使用客户端脚本的服务器控件没有包含在HtmlForm服务器控件()中,它们将无法正常工作。这些控件可以在呈现时调用该方法,以在它们没有包含在HtmlForm控件中时提供明确的错误信息。开发自定义服务器控件时,通常在为任何类型的输入标记重写Render方法时调用该方法。这在输入控件调用GetPostBackEventReference或发出客户端脚本时尤其重要。复合服务器控件不需要作出此调用。除非要创建替换页框架,否则请不要重写此方法。于是我跟踪了一下,发现页面的每个服务器端控件都会执行这个方法,结合我自己的实际情况,做了点小修改 publicoverridevoidVerifyRenderingInServerForm(Controlcontrol)if(!control.GetType().Name.Equals(DataGridLinkButton)base.VerifyRenderingInServerForm(control);因为我需要在AjaxMethod中获得一个控件的HTML输出到画面上,而这个控件是我new出来的,显然不可能在 标记内,于是我就加了个判断,虽然还是没有做到十全十美(就是如果画面上本来就有的DataGridLinkButton也不做验证了。)但感觉比起直接把base方法调用注释掉还是合情合理些。木野狐对这个问题也有篇文章描述了下。 3.Page.VerifyRenderingInServerForm 返回什么,怎样结合他确定是否将自定义控件写到页面上?saucer(思归)回复于 2004-12-09 09:09:38 try to override AddAttributesToRender, for example, this is how it is done with LinkButton if you use Reflector to see the implementation: protected override

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论