使用控件的RenderControl()方法导出Excel「建议收藏」

发布时间:2025-12-09 14:01:50 浏览次数:5

使用控件的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);
}
}

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477