asp.Net导出Excel的快捷方法

代码如下:

克服了以往导出乱码的现象

   dgdBranch.AllowCustomPaging=true;
    dgdBranch.PageSize=100000;
    dgdBranch.CurrentPageIndex = 0;  
    dgdBranch.AllowSorting=false;

   //在这里可以处理需要隐藏的列,比如链接性质的要隐藏起来,避免导出时出错。
    //设置绑定数据
    ViewState["FID"]=Request["FID"].ToString();
    DataTable dtFKBill = (new PriceDataSystem()).GetFKBillDCChannel(Convert.ToInt32(ViewState["FID"]));
    this.dgdBranch.DataSource=dtFKBill;
    this.dgdBranch.DataBind();  
    //这是对系统的设置
    Response.Clear();
    Response.Buffer= true;
    Response.Charset="GB2312";//Response.Charset ="utf-8";
    string filename=DateTime.Now.ToString().Replace(" ","-").Replace(":","-");
    Response.AppendHeader("Content-Disposition","attachment;filename="+filename+".xls"); //FileName.xls就是要保存的excel名
    Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
    //设置输出流为简体中文
    Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
    Response.Write("<html><head><meta http-equiv=/"Content-Type/" content=/"text/html; charset=gb2312/"></head><body>");    //该语句为关键语句,必须加上,处理那种偶然的导出乱码现象
    this.EnableViewState = false;
    System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
    //输出html格式的东西,可以不要的.
    oHtmlTextWriter.Write("<center><b><font size=4>DC类渠道再分配单</font></b><br/>"); 
    
    //把datagridName换成你的datagrid的id
    this.dgdBranch.RenderControl(oHtmlTextWriter);
    Response.Write(oStringWriter.ToString());
    Response.End();
    this.EnableViewState = false;
    oStringWriter.Flush();
    oStringWriter.Close();
    oHtmlTextWriter.Flush();
    oHtmlTextWriter.Close();
    this.dgdBranch.AllowCustomPaging=false;
    this.dgdBranch.PageSize=15;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值