将控件的内容输出到Excel

主要用到 Control.RenderControl 方法,该方法有两个重载版本:
 
Control.RenderControl (HtmlTextWriter) 将服务器控件的内容输出到所提供的 HtmlTextWriter 对象中;如果已启用跟踪功能,则存储有关控件的跟踪信息。
Control.RenderControl (HtmlTextWriter, ControlAdapter) 使用提供的 ControlAdapter 对象将服务器控件内容输出到提供的 HtmlTextWriter 对象。

下面是代码示例:
private   void  ToExcel(System.Web.UI.Control ctl, string  filename)   
        

            HttpContext.Current.Response.AppendHeader(
"Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(filename+".xls",System.Text.Encoding.UTF8)); 
            HttpContext.Current.Response.Charset 
="GB2312";     
            HttpContext.Current.Response.ContentEncoding 
=System.Text.Encoding.UTF8; 
            HttpContext.Current.Response.ContentType 
="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword 
            ctl.Page.EnableViewState =false;    
            System.IO.StringWriter  tw 
= new System.IO.StringWriter() ; 
            System.Web.UI.HtmlTextWriter hw 
= new System.Web.UI.HtmlTextWriter (tw); 
            ctl.RenderControl(hw); 
            HttpContext.Current.Response.Write(tw.ToString()); 
            HttpContext.Current.Response.End(); 
        }
 

根据代码中的注释可知,也可以导出为其它格式。要注意:该方法只用于导出控件呈现的内容而非数据集。

你可能感兴趣的:(String,服务器,Excel,存储)