protected void btnExp_Click(object sender, System.EventArgs e)
{
DataTable dt = InitGrid();
Response.Write(dt.TableName);
if(dt!=null && dt.Rows.Count>0)
{
StringBuilder sb = new StringBuilder("<html><head><meta http-equiv=/"content-type/" content=/"text/html; charset=gb2312/"/></head><body><table border=1 style='font-size:12px'>");
sb.Append("<tr height=20><td>字段1</td><td>字段2</td><td>字段3</td><td>字段4</td><td>字段5</td></tr>");
foreach(DataRow dr in dt.Rows)
{
sb.Append("<tr height=20><td>" + dr["字段1"].ToString() + "</td><td>" + dr["字段2"].ToString() + "</td><td>" + dr["字段3"].ToString() + "</td><td>" + dr["字段4"].ToString() + "</td><td>" + dr["字段5"].ToString() + "</td></tr>");
}
sb.Append("</table></body></html>");
byte [] buffer = new byte[sb.Length];
buffer = System.Text.Encoding.GetEncoding(936).GetBytes(sb.ToString());
string strFileName= "统计汇总"+tbxBeginDate.Text+"到"+tbxEndDate.Text;
if(strFileName.Length>16)
strFileName = strFileName.Substring(0,16);
Response.Clear();
Response.AddHeader("Content-Length", buffer.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename="+System.Web.HttpUtility.UrlPathEncode(strFileName)+".xls") ;
Response.OutputStream.Write(buffer,0,buffer.Length);
Response.End();
}
}
c#导出DataTable数据到文本
最新推荐文章于 2024-02-26 10:08:18 发布
该篇博客展示了如何在C#中将DataTable的数据导出为Excel文件。通过创建HTML表格,然后将其转换为字节流,最后设置HTTP响应头以提供下载。代码实现了根据DataTable内容生成表格,并设置边框和字体大小,最后以特定文件名提供下载。
319

被折叠的 条评论
为什么被折叠?



