有关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的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持易知道(ezd.cc)。