数据下载至Excel

来源:互联网 发布:知乎钓鱼什么意思 编辑:程序博客网 时间:2024/05/17 06:27

public void ToExcel()//整个GRIDVIEW导出到EXCEL
    {
        string filename="数据表" + DateTime.Now.ToString("yyyyMMdd") + ".xls";
        string style = @"<style> .text { mso-number-format:/@; } </script> "; //解决第一位字符为零时不显示的问题
       
        this.GridView1.AllowPaging = false;//关闭分页
        this.GridView1.DataBind();//绑定数据

        filename = HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8);//解决导出EXCEL时文件名为汉字时乱码的问题
        Response.ClearContent();
       
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
        Response.ContentType = "application/excel";
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + filename);

        System.IO.StringWriter sw = new System.IO.StringWriter();//定义一个字符串写入对象
        HtmlTextWriter htw = new HtmlTextWriter(sw);//将html写到服务器控件输出流
       
        this.GridView1.RenderControl(htw);//将控件GRIDVIEW中的内容输出到HTW中
        Response.Write(style);
        Response.Write(sw);
        Response.End();

        this.GridView1.AllowPaging = true;
    }

 

 

Response.Clear();
          Response.Buffer= true;
          Response.Charset="GB2312";
          Response.AppendHeader("Content-Disposition","attachment;filename="+filename);
          Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
          Response.ContentType = "application/ms-"+type+"";
          this.EnableViewState = false;
   StringWriter stringWriter=new StringWriter();
   HtmlTextWriter htmlWriter=new HtmlTextWriter(stringWriter);
   DataGrid excel=new DataGrid();
   System.Web.UI.WebControls.TableItemStyle aStyle=new TableItemStyle();
   System.Web.UI.WebControls.TableItemStyle hStyle=new TableItemStyle();
   System.Web.UI.WebControls.TableItemStyle iStyle=new TableItemStyle();
   aStyle.BackColor=System.Drawing.Color.LightGray;
   hStyle.BackColor=System.Drawing.Color.LightGray;
   hStyle.Font.Bold=true;
   hStyle.HorizontalAlign=System.Web.UI.WebControls.HorizontalAlign.Center;
   iStyle.HorizontalAlign=System.Web.UI.WebControls.HorizontalAlign.Center;
   iStyle.VerticalAlign=System.Web.UI.WebControls.VerticalAlign.Bottom;
   excel.AlternatingItemStyle.MergeWith(aStyle);
   excel.HeaderStyle.MergeWith(iStyle);
   excel.GridLines=GridLines.Both;
   excel.HeaderStyle.Font.Bold=true;
   excel.DataSource=dt.DefaultView;
   excel.DataBind();
   excel.RenderControl(htmlWriter);
          Response.Write(stringWriter.ToString());
          Response.End();

方法调用:
this.OutToWordOrExcel("CustomerRepairRecord.xls","excel",dt);

原创粉丝点击