您的位置:首页 > 其它

使用控件的RenderControl()方法导出Excel

2007-10-16 11:26 651 查看
使用控件的RenderControl()方法生成HTML表格

string strName = "HuaMingCe";
Response.Clear();
Response.Buffer = true;
Response.Charset = "utf-8";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + strName + ".xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
if (GridViewMaster != null) //GridViewMaster 是GridView控件
{
GridViewMaster.RenderControl(oHtmlTextWriter);//将服务器控件的内容输出
}
Response.Write(oStringWriter.ToString());
Response.End();

同时vs2005会报错“类型“ExGridView”的控件“GridViewMaster”必须放在具有 runat=server 的窗体标记内



需要添加下面取消对GridViewMaster 控件验证的方法

public override void VerifyRenderingInServerForm(Control control)
{
if (!control.GetType().Equals(GridViewMaster.GetType()))
{
base.VerifyRenderingInServerForm(control);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: