.NET 中一种将DataTable表下载到本地Excel文件方法
代码清单:
protected void BtnDown_Click(object sender, EventArgs e)
{
try
{
DataTable dt = ForConfirmValidORDown(true);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
if (dt != null && dt.Rows.Count > 0)
{
sb.Append("<div><table border='1'>");
//表头
sb.Append("<tr>");
for (int i = 0; i < dt.Columns.Count; i++)
{
sb.Append("<th>" + dt.Columns[i].ColumnName + "</th>");
}
sb.Append("</tr>");
string trBg = "";
//记录
foreach (DataRow dr in dt.Rows)
{
if (trBg == "")
{
trBg = "#F1EED5";
}
else {
trBg = "";
}
sb.Append("<tr style='background:" + trBg + "'>");
object[] objs = dr.ItemArray;
foreach (object obj in objs)
{
string str = obj.ToString();
sb.Append("<th>" + str + "</th>");
}
sb.Append("</tr>");
}
sb.Append("</table></div>");
}
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=" + HttpUtility.UrlEncode(downFileName));
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/excel";
Response.Write(sb.ToString());
}
catch (Exception ex)
{
DoException(ex);
}
Response.End();
}
浙公网安备 33010602011771号