有关Model:
namespace MvcApplication1.Models { public class Coach { public int Id { get; set; } public string Name { get; set; } } }
HomeController中,借助GridView控件把内容导出到Excel:
using System.Collections.Generic; using System.IO; using System.Linq; using System.Web.Mvc; using System.Web.UI; using MvcApplication1.Models; namespace MvcApplication1.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(GetCoaches()); } private List<Coach> GetCoaches() { return new List<Coach>() { new Coach(){Id = 1, Name = "斯科拉里"}, new Coach(){Id = 2, Name = "米西维奇"} }; } public void ExportClientsListToExcel() { var grid = new System.Web.UI.WebControls.GridView(); grid.DataSource = from item in GetCoaches() select new { 编号 = item.Id, 主教练 = item.Name }; grid.DataBind(); Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=Exported_Coaches.xls"); Response.ContentType = "application/excel"; Response.Charset = "utf-8"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); grid.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); } } }
Home/Index.cshtml强类型集合视图:
@model IEnumerable<MvcApplication1.Models.Coach> @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <table> <tr> <th>编号</th> <th>主教练</th> </tr> @foreach (var item in Model) { <tr> <td>@item.Id</td> <td>@item.Name</td> </tr> } </table> <br/> @Html.ActionLink("导出到Excel","ExportClientsListToExcel")