/// <summary>
/// 导出excel
/// </summary>
/// <param name="sender"></param>
/// <param
name="e"></param>
protected void LinkButton1_Click(object
sender, EventArgs e)
{
string content =
getExcelContent(VAS.BLL.Vas_Msg_ContactsManager.Vas_DuanXin_Buyer_Dcxuexirizhi_r5UserInfo());
string css = ".firstTR td{color:blue;width:100px;}.secondTR
td{color:blue;width:100px;}";
string filename = "Test.xls";
CommonTool.ExportToExcel(filename, content, css);
}
//内容很好理解,只需当成Table来拼字符串即可
private string
getExcelContent(DataTable dt)
{
StringBuilder sb = new
StringBuilder();
sb.Append("<table>");
sb.Append("<thead><tr>");
for (int m = 0; m <
dt.Columns.Count; m++)
{
sb.Append("<th>" +
dt.Columns[m] + "</th>");
}
sb.Append("</tr></thead>");
sb.Append("<tbody>");
for (int i = 0; i < dt.Rows.Count; i++)
{
sb.Append("<tr>");
for (int j = 0; j < dt.Columns.Count; j++)
{
sb.Append("<td>" + dt.Rows[i][dt.Columns[j]] +
"</td>");
}
sb.Append("</tr>");
}
sb.Append("</tbody></table>");
return
sb.ToString();
}
通用类
/// <summary>
/// 以流的形式,可以设置很丰富复杂的样式
/// </summary>
/// <param name="content">Excel中内容(Table格式)</param>
/// <param name="filename">文件名</param>
/// <param
name="cssText">样式内容</param>
public static void
ExportToExcel(string filename, string content, string cssText)
{
var res = HttpContext.Current.Response;
content =
String.Format("<style type=‘text/css‘>{0}</style>{1}", cssText,
content);
res.Clear();
res.Buffer = true;
res.Charset =
"UTF-8";
res.AddHeader("Content-Disposition", "attachment; filename="
+ filename);
res.ContentEncoding =
System.Text.Encoding.GetEncoding("UTF-8");
res.ContentType =
"application/ms-excel;charset=UTF-8";
res.Write(content);
res.Flush();
res.End();
}
原文:http://www.cnblogs.com/huagege/p/3559092.html