如何将DataGrid中的数据导出为excel文件?

liujingbo911 2006-11-14 11:55:49
如何将DataGrid中的数据导出为excel文件?
请大哥们指点,给出代码!
...全文
211 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
发到你的邮箱里面了!
vzxq 2006-11-14
  • 打赏
  • 举报
回复
Reponse.ContentType="alllication/vnd.excel";
Response.Charset = "";
EnableViewState= false;
System.IO.StringWriter tw= new System.IO.String.Writer();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); Datagrid.RenerControl(hw);
Response.Writer(tw.ToString());
Response.End();
Eddie005 2006-11-14
  • 打赏
  • 举报
回复
/// <summary>
/// 将DataTable中的数据导出到指定的Excel文件中
/// </summary>
/// <param name="tab">包含被导出数据的DataTable对象</param>
/// <param name="FileName">Excel文件的名称</param>
/// <param name="mTitle">标题</param>
/// <param name="mColumns">需要导出的列和对应的说明文字</param>
private void Export(System.Data.DataTable tab,string mFileName,string mTitle,string[][] mColumns)
{
System.Web.HttpResponse httpResponse = Page.Response;

System.Web.UI.WebControls.DataGrid dataGrid=new System.Web.UI.WebControls.DataGrid();

#region 绑定一个DataGrid
dataGrid.DataSource=tab.DefaultView;
dataGrid.AllowPaging = false;
//dataGrid.HeaderStyle.BackColor = System.Drawing.Color.Green;
dataGrid.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
dataGrid.HeaderStyle.Font.Bold = true;
dataGrid.HeaderStyle.BackColor = Color.LightCyan;
dataGrid.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
dataGrid.AlternatingItemStyle.BackColor = Color.AliceBlue;
dataGrid.AutoGenerateColumns = false;
for(int i=0;i<mColumns.Length;i++)
{
string[] mCol = mColumns[i];
BoundColumn boundCol = new BoundColumn();
boundCol.DataField = mCol[0];
boundCol.HeaderText = mCol[1];
dataGrid.Columns.Add(boundCol);
}
dataGrid.DataBind();
#endregion

httpResponse.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(mFileName,System.Text.Encoding.UTF8)); //filename="*.xls";
httpResponse.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
httpResponse.ContentType ="application/ms-excel";
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
dataGrid.RenderControl(hw);

string fileUrl = @"\XsExam\Tq_Manager\UpLoad\" +mFileName;
string filePath = Page.Server.MapPath(fileUrl);
System.IO.StreamWriter sw = System.IO.File.CreateText(filePath);

//写文件
//写入文件标题
sw.WriteLine("<table><tr><td align='center' colspan='" + mColumns.Length.ToString() + "'><font face='宋体' size=12px><b>"
+ mTitle + "</b></font></td></tr>");

//写入制表时间
sw.WriteLine("<tr><td colspan='" + mColumns.Length.ToString() + "' align='right'><font face='宋体' size=10px>制表时间:"
+ DateTime.Now.ToString("yyyy年MM月dd日") + "</font></td></tr></table>");
sw.Write(tw.ToString());
sw.Close();

httpResponse.Redirect(fileUrl);

httpResponse.End();
}
vzxq 2006-11-14
  • 打赏
  • 举报
回复
Reponse.ContentType="alllication/vnd.excel"; Response.Cah
Response.Charset = "";
EnableViewState= false;
System.IO.StringWriter tw= new System.IO.String.Writer();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); Datagrid.RenerControl(hw);
Response.Writer(tw.ToString());
Response.End();
lxhvc 2006-11-14
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4905/4905809.xml?temp=.27969
孟子E章 2006-11-14
  • 打赏
  • 举报
回复
http://dotnet.aspx.cc/article/8a4cbf47-b888-4832-3389-ed3a3a3c8aab/read.aspx

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧