好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult_h

导出EXCEL方法总结

MVC导出数据到EXCEL的方法有很多种,常见的是:

1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可;

优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不必要的XLS文件;

2.设置 输出头为:application/ms-excel,再 输出拼接的HTML TABLE数据;

优点:无需组件,可设置一些简单的格式,缺点:拼接HTML TABLE过程较复杂,不够直观;

3.借助第三方组件(如:NPOI)

优点及缺点均依赖于第三方组件的易用性上面,在此不作说明;

大家也可以看我之前发表的一篇博文:我写的一个ExcelHelper通用类,可用于读取或生成数据

实现在MVC下新的导出EXCEL方法

这里给大家分享一个在MVC下的新方法:将视图或分部视图转换为HTML后再直接返回FileResult即可轻松实现导出EXCEL功能,下面直接上代码。

首先看一下分部视图(IndexDataList)的内容:

@model IEnumerable @using PagedList.Mvc;                            意见ID              组 织              车牌              车型              皇家版              客户              客户电话              责任部门              责任班组              业务顾问              意见类型              状态              录入员              录入时间                            @foreach (var item in Model)        {            string className = "";            if (item.Status == "已审核未处理")            {                className = "uncl_yellow";                if (item.AuditDatetime != null && DateTime.Now > ((DateTime)item.AuditDatetime).AddHours(24))                {                    className = "uncl_red";                }            }                              @item.Id                  @item.OrgName                  @item.PlateNo                  @item.Model                  @item.IsRoyalVer                  @item.CustomerName                  @item.CustomerPhoneNo                  @item.RelevantDept                  @item.RelevantGroup                  @item.Consultant                  @item.Type                  @item.Status                  @item.CreateBy                  @string.Format("{0:g}", item.CreateDatetime)                      }      @if(true!=ViewBag.NoPaging){ 

@Html.PagedListPager(Model as PagedList.IPagedList , page => string.Format("javascript:turnPage({0});", page), PagedListRenderOptions.ClassicPlusFirstAndLast)

查看更多关于MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult_h的详细内容...

  阅读:41次