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的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • asp.net GridView导出到Excel代码

    复制代码 代码如下: StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter htw = new HtmlTextWriter(sw); Page page = new Page(); HtmlForm form = new HtmlForm(); GVLinkman.EnableViewState = false; page.EnableEventValidat

  • ASP.NET Core 导入导出Excel xlsx 文件实例

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Linux和Mac. EPPlus.Core 是基于EPPlus 更改而来,在Linux 下需要安装libgdiplus . EPPlus:http://epplus.codeplex.com/ EPPlus.Core:https://github.com/VahidN/EPPlus.Core 下面在A

  • asp.net导出excel的简单方法实例

    excel的操作,最常用的就是导出和导入,废话不多说上代码. 本例使用NPOI实现的,不喜勿喷哈.... 复制代码 代码如下: /// <summary>        /// 导出Excel        /// </summary>        /// <param name="stime"></param>        /// <param name="etime"></param> 

  • Asp.Net使用Npoi导入导出Excel的方法

    asp.net针对Excel文件的导入与导出是非常常见的功能之一.本文实例讲述了Asp.Net使用Npoi导入导出Excel的方法.分享给大家供大家参考之用.具体方法如下: 在使用Npoi导出Excel的时候,服务器可以不装任何office组件,一般在导出时用到Npoi导出Excel文件,所导Excel也符合规范,打开时也不会有任何文件损坏之类的提示.但是在做导入时还是使用OleDb的方式,这种方式的导入在服务器端似乎还是需要装office组件的. 一.Npoi导出/下载Excel 具体功能代码

  • Asp.net中DataTable导出到Excel的方法介绍

    复制代码 代码如下: #region  DataTable导出到Excel        /// <summary>        /// DataTable导出到Excel        /// </summary>        /// <param name="pData">DataTable</param>        /// <param name="pFileName">导出文件名</p

  • Asp.Net Core实现Excel导出功能的实现方法

    目录 安装 ClosedXML 将数据导出成 CSV 文件 将数据导出成 XLSX 文件 下载 Excel 在web应用程序开发时,或许你会遇到这样的需求,如何在 Asp.Net Core 中实现 excel 或者 word 的导入导出,在 NuGet 上有大量的工具包可以实现这样的功能,本篇就讨论下如何使用 ClosedXML 实现 Excel 数据导出. 安装 ClosedXML 如果想实现 Excel 的导出功能,在 Asp.Net Core 中有很多的dll可以做到,其中的一个叫做 Cl

  • asp.net导出Excel类库代码分享

    复制代码 代码如下: using System;using System.Collections.Generic;using System.Reflection;using System.Web;using Excel = Microsoft.Office.Interop.Excel; /// <summary>///ExcelClass 的摘要说明/// </summary>public class ExcelClass{    /// <summary>    //

  • ASP.NET用DataSet导出到Excel的方法

    复制代码 代码如下: /读取临时文件 GYYW.DA.Common.Base_SqlDataBase daBZDM = new GYYW.DA.Common.Base_SqlDataBase(); DataSet dsBZDM = daBZDM.GetDataSetBySql("select QCDM,MC,GG from WG_BZDM where QCDM like '02%'"); //同时将虚拟目录下的Data作为临时文件目录. string urlPath = HttpCon

  • .NET6导入和导出EXCEL

    使用NPOI导入.xlsx遇到"EOF in header"报错,网上找好很多方法,没解决,最后换成EPPlus.Core导入. 导出默认是.xls. NPOI操作类: using NPOI.HPSF; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System.Collections; using System.Data; namespace CommonUti

  • ASP.NET使用GridView导出Excel实现方法

    本文实例讲述了ASP.NET使用GridView导出Excel实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /// <summary>  /// 将DataTable数据导出到EXCEL,调用该方法后自动返回可下载的文件流  /// </summary>  /// <param name="dtData">要导出的数据源</param>  public static void DataTable1Excel(S

  • asp.net DataTable导出Excel自定义列名的方法

    1.添加引用NPOI.dll 2.cs文件头部添加 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; 3.代码如下: using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Configuration;

  • ASP.NET导出数据到Excel的实现方法

    网上好些代码的原理大致与此类似,同样都存在一个问题,就是: 类型"GridView"的控件"ctl00_center_GridView1"必须放在具有 runat=server 的窗体标记内. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息:System.Web.HttpException: 类型"GridView"的控件"ctl00_cent

随机推荐