nol*_*man 5 c# asp.net asp.net-mvc-3
我在Controller中有以下代码,并希望将其全部保存到excel文件中,但我无法让浏览器向我显示文件保存对话框.
public ContentResult Export(...) {
StringBuilder sb = new StringBuilder();
sb.Append("<table border='" + "2px" + "'b>");
//write column headings
sb.Append("<tr>");
foreach (System.Data.DataColumn dc in dt.Columns) {
sb.Append("<td><b><font face=Arial size=2>" + dc.ColumnName + "</font></b></td>");
}
sb.Append("</tr>");
//write table data
foreach (System.Data.DataRow dr in dt.Rows) {
sb.Append("<tr>");
foreach (System.Data.DataColumn dc in dt.Columns) {
sb.Append("<td><font face=Arial size=" + "14px" + ">" + dr[dc].ToString() + "</font></td>");
}
sb.Append("</tr>");
}
sb.Append("</table>");
this.Response.AddHeader("Content-Disposition", "Employees.xls");
this.Response.ContentType = "application/vnd.ms-excel";
return this.Content(sb.ToString());
}
Run Code Online (Sandbox Code Playgroud)
非常感谢提前!
尝试这个:
public ActionResult Export(...) {
StringBuilder sb = new StringBuilder();
sb.Append("<table border='" + "2px" + "'b>");
//write column headings
sb.Append("<tr>");
foreach (System.Data.DataColumn dc in dt.Columns) {
sb.Append("<td><b><font face=Arial size=2>" + dc.ColumnName + "</font></b></td>");
}
sb.Append("</tr>");
//write table data
foreach (System.Data.DataRow dr in dt.Rows) {
sb.Append("<tr>");
foreach (System.Data.DataColumn dc in dt.Columns) {
sb.Append("<td><font face=Arial size=" + "14px" + ">" + dr[dc].ToString() + "</font></td>");
}
sb.Append("</tr>");
}
sb.Append("</table>");
this.Response.AddHeader("Content-Disposition", "Employees.xls");
this.Response.ContentType = "application/vnd.ms-excel";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(sb.ToString());
return File(buffer, "application/vnd.ms-excel");
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20078 次 |
最近记录: |