六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 119|回复: 0

C#_把dataTable数据导出到XLS文件 ,练手

[复制链接]

升级  74.2%

2220

主题

2220

主题

2220

主题

榜眼

Rank: 8Rank: 8

积分
6710
 楼主| 发表于 2013-1-19 04:09:28 | 显示全部楼层 |阅读模式
-------------页面片段----------------------------
<td>
      <asp:Button ID="btnDetail" runat="server" Text="导出数据" CssClass="input"  />
</td>
<div>
     <asp:GridView ID="GVdata" runat="server">
     </asp:GridView>
</div>
-------------------------后台 。aspx.cs文件----------------------------
protected void btnDetail_Click(object sender, EventArgs e)
{
/**
   GetWhere();
   AllThings allThing = new AllThings();
   DataTable dt = allThing.GMAcountNoPage(iProId, iUserId, strUserName, strProFrom, state, dtBegin, dtEnd, strGroup, strGameName, strCause, iAcountNum, iGMId);
   if (null == dt || dt.Rows.Count == 0)
     return;
   this.GVdata.DataSource = dt;
   this.GVdata.DataBind();
**/以上数据填充GridView ,可自己更换
   GetXLS("SumSorce");
}
protected void GetXLS(string xlsName)
{
   StringBuilder sb = new StringBuilder();
   StringWriter sw = new StringWriter(sb);
   HtmlTextWriter htw = new HtmlTextWriter(sw);
   Page page = new Page();
   HtmlForm form = new HtmlForm();
   GVdata.EnableViewState = false;
   // Deshabilitar la validación de eventos, sólo asp.net 2
   page.EnableEventValidation = false;
   // Realiza las inicializaciones de la instancia de la clase Page que requieran los diseñadores RAD.
   page.DesignerInitialize();
   page.Controls.Add(form);
   form.Controls.Add(GVdata); //GVdata 页面GridView
   page.RenderControl(htw);
   Response.Clear();
   Response.Buffer = true;
   Response.ContentType = "application/vnd.ms-excel";
   Response.AddHeader("Content-Disposition", "attachment;filename=" + xlsName + ".xls");
   //Response.Charset = "utf-8";
   Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
   Response.Write(sb.ToString());
   Response.End();
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表