gridview 导出excel代码,以及关于乱码问题

        /// <summary>
        /// 导出Excel方法
        /// 作者:王海龙
        /// 日期:2011年4月26日16:43:33
        /// </summary>
        /// <param name="FileType">文件类型:application/ms-excel</param>
        /// <param name="FileName">文件名字</param>
        /// <param name="gridview"></param>
        public static void ExportToExcel(this Page _page, string FileType, string FileName, GridView gridview)
        {
            _page.Response.Clear();
            _page.Response.Buffer = true;
            _page.Response.Charset = "utf-8";
            _page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
             _page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());
            _page.Response.ContentType = FileType;

    这行很重要,是解决乱码的关键之所在。
            _page.Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\">");  

            _page.EnableViewState = false;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            gridview.RenderControl(hw);
            _page.Response.Output.Write(tw.ToString());
            _page.Response.Flush();
            _page.Response.End();
        }

最初尝试各种办法,换各种编码,偶尔还是有gridview会出现乱码。原因是各个gridview的stream不一样,编码或许会出现问题。

最终还是靠加粗的那行代码,解决了问题。

转载于:https://www.cnblogs.com/heaven.kaixin/archive/2011/05/19/2051290.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值