首页 > 其他 > 详细

无需安装微软组件的 excel导出方式

时间:2014-02-21 21:11:31      阅读:450      评论:0      收藏:0      [点我收藏+]

/// <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();
}

无需安装微软组件的 excel导出方式

原文:http://www.cnblogs.com/huagege/p/3559092.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!