将控件的内容输出到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(); 
        }
 

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客行天下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值