将控件的内容输出到Excel

主要用到 Control.RenderControl 方法,该方法有两个重载版本:
Control.RenderControl (HtmlTextWriter) <summary xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"></summary>将服务器控件的内容输出到所提供的 HtmlTextWriter 对象中;如果已启用跟踪功能,则存储有关控件的跟踪信息。
Control.RenderControl (HtmlTextWriter, ControlAdapter) <summary xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"></summary>使用提供的 ControlAdapter 对象将服务器控件内容输出到提供的 HtmlTextWriter 对象。

下面是代码示例:
private void ToExcel(System.Web.UI.Controlctl, 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.StringWritertw
=newSystem.IO.StringWriter();
System.Web.UI.HtmlTextWriterhw
=newSystem.Web.UI.HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值