把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)
{
}