ASP.NET MVC把表格導出到Excel
有關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")
到此這篇關於ASP.NET MVC把表格導出到Excel的文章就介紹到這瞭。希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。