/// <summary>
/// 将GridView控件数据导出到Excel中。
/// </summary>
public static void Export(WebControl wc, String fileName)
{
HttpContext httpContext = System.Web.HttpContext.Current;
if (httpContext.Request.UserAgent.IndexOf("MSIE") >= 0)
fileName = httpContext.Server.UrlPathEncode(fileName);
if (!Path.HasExtension(fileName))
fileName = String.Format("{0}.xls", fileName);
httpContext.Response.Clear();
httpContext.Response.Buffer = true;
httpContext.Response.Charset = "gb2312";
httpContext.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=gb2312>");
httpContext.Response.AppendHeader("Content-Disposition", String.Format("attachment;filename={0}", fileName));
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
httpContext.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
httpContext.Response.ContentType = "application/vnd.ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter sw = new System.IO.StringWriter(System.Globalization.CultureInfo.CurrentCulture);
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
System.Web.UI.Page page = new System.Web.UI.Page();
System.Web.UI.HtmlControls.HtmlForm form = new System.Web.UI.HtmlControls.HtmlForm();
//wc.RenderControl(hw);
page.DesignerInitialize();
page.Controls.Add(form);
form.Controls.Add(wc);
page.RenderControl(hw);
httpContext.Response.Output.Write(sw.ToString());
httpContext.Response.Flush();
httpContext.Response.End();
}
将GridView控件数据导出到Excel中。
最新推荐文章于 2024-09-04 18:01:16 发布