把DataGrid作为参数传入该方法即可,GridView貌似不行.可以输出成Word或Excel.

 

public void ToExcel(System.Web.UI.Control ctl)//定义由所有asp、net服务器控件共享的属性、方法和事件
        {
            Response.Clear();//清除缓冲区流中的所有内容输出
 
            Response.Buffer = true;//获取或设置一个值,指示该值是否缓冲输出,并在完成处理整个响应之后将其发送
 
            Response.Charset="GB2312";//获取或设置输出流的http字符集
 
            Response.AppendHeader("Content-Disposition","attachment;filename=word.doc");//将http头添加到输出流,Content-Disposition是头的名称
 
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
    
            Response.ContentType = "application/ms-word";//设置输出文件类型为word文件
 
            this.EnableViewState = false; 
          
            System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true); 
  
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);//实现一个用于将信息写入字符串的System.IO.TextWriter,该信息存储在基础System.Text.Builder中
   
            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);//oStringWriter是要呈现html内容的System.IO.TextWriter对象 
  
            ctl.RenderControl(oHtmlTextWriter);//oHtmlTextWriter是接收控件内容的HtmlTextWriter对象
     
            Response.Write(oStringWriter.ToString());
 
            this.dgrdMemorabilia.ShowHeader = false;
 
            this.dgrdMemorabilia.ShowFooter = false;
 
            Response.Flush();//向客户端发送当前所有缓冲的输出
 
            Response.Close();//关闭到客户端的套接字连接
 
            Response.End();
 
        }
 
如果LinkButton出错,则加上下面的代码即可:
 
public override void VerifyRenderingInServerForm(Control control)
        {
 
        }