zoukankan      html  css  js  c++  java
  • Asp.net GridView 导出Excel (不会整个页面导出且不会乱码)

    搞了快一个小时网上的代码缺这缺那的,这个我自己改好的,希望能帮到大家,前台就是拉个gridvidw,贴后台代码给大家看看 

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.GridView1.DataSource = ds.VFoodReport.ToList();
                this.GridView1.DataBind();
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Clear();
            Response.Buffer = true;
            Response.Charset = "GB2312";
            Response.AppendHeader("Content-Disposition", "attachment;filename=Report.xls");
            // 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
            this.GridView1.RenderControl(oHtmlTextWriter);
            Response.Output.Write(oStringWriter.ToString());
            Response.Flush();
            Response.End();

        }
        public override void VerifyRenderingInServerForm(Control control)
        { }
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Cells[1].Attributes.Add("style", "vnd.ms-excel.numberformat:@;");
            }
        }

     我这里测试通过没有问题了  有什么问题大伙再继续讨论

  • 相关阅读:
    MVC笔记 Controller相关技术
    C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
    Cookies揭秘 [Asp.Net, Javascript]
    我的一些学习资源
    也来学学插件式开发续-利用MEF
    也来学学插件式开发
    Entity Framework With Oracle
    EF Code First学习笔记:数据库创建
    EF Code First 学习笔记:表映射
    Entity Framework Code First级联删除
  • 原文地址:https://www.cnblogs.com/linyijia/p/2364063.html
Copyright © 2011-2022 走看看