zoukankan      html  css  js  c++  java
  • WebControl(DataGrid/GridView)导出Excel、Word

           /// <summary>
            ///
            /// </summary>
            /// <param name="dg"></param>
            /// <param name="name"></param>
            /// <param name="bm">编码</param>
            public static void OutExcel(System.Web.UI.Control dg, string name, string bm)
            {
                HttpResponse rsp = HttpContext.Current.Response;
                dg.Visible = true;
                rsp.Clear();
                rsp.Buffer = true;
                rsp.Charset = bm;
                name = "attachment;filename=" +HttpUtility.UrlPathEncode(name)+".xls";
                rsp.AppendHeader("Content-Disposition", name);
                rsp.ContentEncoding = System.Text.Encoding.GetEncoding(bm);
                rsp.ContentType = "application/ms-excel";
                dg.EnableViewState = false;
                System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

                Page page = new Page();
                page.EnableEventValidation = false;
                page.DesignerInitialize();
                HtmlForm form = new HtmlForm();
                page.Controls.Add(form);
                form.Controls.Add(dg);

                page.RenderControl(oHtmlTextWriter);
                rsp.Write(oStringWriter.ToString());
                rsp.End();
            }

            public static void OutWord(System.Web.UI.WebControls.WebControl dg, string name)
            {
                HttpResponse rsp = HttpContext.Current.Response;
                dg.Visible = true;
                rsp.Clear();
                rsp.Buffer = true;
                rsp.Charset = "utf-8";
                name = "attachment;filename=" + name;
                rsp.AppendHeader("Content-Disposition", name);
                rsp.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
                rsp.ContentType = "application/ms-word";
                dg.EnableViewState = false;
                System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

                Page page = new Page();
                page.EnableEventValidation = false;
                page.DesignerInitialize();
                HtmlForm form = new HtmlForm();
                page.Controls.Add(form);
                form.Controls.Add(dg);

                form.RenderControl(oHtmlTextWriter);
                rsp.Write(oStringWriter.ToString());
                rsp.End();
            }

  • 相关阅读:
    转载.net泛型理解说明
    转载Repository 和Unit of work的使用说明
    libtool的工作原理
    带有通配符的字符串匹配算法-C/C++
    linux core文件机制
    grep多条件和sed合并两行
    BZOJ 3232 圈地游戏 (分数规划 + SPFA找负/正环)
    CSP2019 D1T3 树上的数 (贪心+并查集)
    CSP-S 2019 第二轮 退役记
    object-c中的int NSInteger NSUInteger NSNumber辨析
  • 原文地址:https://www.cnblogs.com/dashi/p/4034716.html
Copyright © 2011-2022 走看看