参考http://www.cnblogs.com/ldp615/archive/2010/09/17/asp-net-mvc-file-result.html

1.引入NPOI

2.代码

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;      public FileResult ExportExcel()
{
List<DispatchViewModel> list = DispatchDAL.GetDispatchPagedList(m => true, , );
HSSFWorkbook hssfWorkbook = OutputSearchResult(list);
byte[] data = null;
using (MemoryStream ms = new MemoryStream())
{
hssfWorkbook.Write(ms);
ms.Flush();
ms.Position = ;
data = ms.GetBuffer();
}
return File(data, "application/vnd.ms-excel", DateTime.Now.Ticks + ".xls");
} public HSSFWorkbook OutputSearchResult(List<DispatchViewModel> list)
{ HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
ISheet sheet = hssfWorkbook.CreateSheet("维修报表");
IRow rowHeader = sheet.CreateRow();
rowHeader.CreateCell(, CellType.String).SetCellValue("维修编号");
rowHeader.CreateCell(, CellType.String).SetCellValue("姓名");
rowHeader.CreateCell(, CellType.String).SetCellValue("手机号码");
rowHeader.CreateCell(, CellType.String).SetCellValue("省");
rowHeader.CreateCell(, CellType.String).SetCellValue("市");
rowHeader.CreateCell(, CellType.String).SetCellValue("区");
rowHeader.CreateCell(, CellType.String).SetCellValue("详细地址");for (int i = ; i < list.Count; i++)
{
IRow dataRow = sheet.CreateRow(i + );
dataRow.CreateCell(, CellType.String).SetCellValue(list[i].ID);
dataRow.CreateCell(, CellType.String).SetCellValue(list[i].ContactsName);
dataRow.CreateCell(, CellType.String).SetCellValue(list[i].Phone);
dataRow.CreateCell(, CellType.String).SetCellValue(list[i].ProvinceName);
dataRow.CreateCell(, CellType.String).SetCellValue(list[i].CityName);
dataRow.CreateCell(, CellType.String).SetCellValue(list[i].AreaName);
dataRow.CreateCell(, CellType.String).SetCellValue(list[i].Address);
}
return hssfWorkbook;
}

3.页面请求

window.location.href = "/shoporder/ExportExcel"

NET MVC FileResult 导出/下载 文件/Excel的更多相关文章

  1. thinkphp3.2.3 excel导出,下载文件,包含图片

    关于导出后出错的问题 https://segmentfault.com/q/1010000005330214 https://blog.csdn.net/ohmygirl/article/detail ...

  2. Spring MVC之ResposeEntity下载文件

    Spring Mvc中用ResponseEntity方式下载文件如下: @RequestMapping("/download") public ResponseEntity< ...

  3. mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法

    Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它 ...

  4. ASP.NET MVC 以Stream 下载文件

     1.0以Stream 下载文件 nl.fileid = Int32.Parse(id); //服务器上对应的id Stream stream = Lawsuit.DownLoad(nl);//服务器 ...

  5. asp.net mvc + javascript生成下载文件

    近期做的是对现有项目进行重构.WEB FROM改成MVC,其实也算是推倒重来了. 里面有一个导出功能,将数据输出成txt文件,供下载.原先的做法是有一个隐藏的iframe,在这个iframe的页面中设 ...

  6. asp.net mvc 上传下载文件的几种方式

    view: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...

  7. post方式实现导出/下载文件

    项目需求: 前端需要传入过多的参数给后端,get地址栏不行,只能接受post方式去导出数据 1.get的下载方式 通常下载方式如下: let url = xxxx.action?a=xx&b= ...

  8. js实现前端导出大文件Excel

    //base64转换成blob function dataURIToBlob(dataURI, callback) { var binStr = atob(dataURI.split(",& ...

  9. MVC 生成图片,下载文件(图片不存在本地,在网上下载)

    /// <summary> /// 生成图片 /// </summary> /// <param name="collection"></ ...

随机推荐

  1. 2、ceph-deploy之配置使用RBD

    说明 部署完ceph集群(active+clean状态)之后, 我们来实践下ceph block device(即RBD或RADOS block device). 我们需要在一台新的client节点上 ...

  2. redis高可用,保证高并发

    目录 redis如何通过读写分离来承载读请求QPS超过10万+ redis replication以及master持久化对主从架构的安全意义 redis主从复制原理.断点续传.无磁盘化复制.过期key ...

  3. class类加载机制

    1.类的加载过程 a.加载-链接-初始化-使用-卸载 加载: 查找并加载类的二进制数据 链接: 验证类的正确性,为类的静态变量分配内存,并将其初始化为默认值,把类的符号引用转换为直接引用. 初始化: ...

  4. php生成随机password的几种方法

    文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/523 使用PHP开发应用程序,尤其是站点程序.经常须要生成随机password,如用户注冊 ...

  5. 基于Windows Azure 搭建基于SharePoint 2010 Intranet、Extranet、Internet (4): 配置传出邮件服务: 使用 outlook.com 发送邮件通知

    前几篇文章,已经安装了SharePoint 2010,今天将演示如何配置传出邮件.由于某些原因,企业可能没有安装自己邮件服务器,此时我们可以使用公共的邮箱服务来发送邮件通知,比如outlook.com ...

  6. 开启我的PHP学习之旅

    第二课 LAMP: Linux apache ngix PHP 第三课 搭建server方式: 1.集成安装环境 XAMPP软件包:www.apachefriends.org 2.单独配置 第四课 X ...

  7. 你不知道的JavaScript--Item33 跨域总结与解决的方法

    一.神马是跨域(Cross Domain) 说白点就是post.get的url不是你当前的站点,域名不同.比如在*aaa.com/a.html*里面,表单的提交action是bbb.com/b.htm ...

  8. vbs setkeys 特殊符号

    set keys={~}!^@^#^${%%}{^&^}{^^}{*}{(}{)}{_}{-}{=}{+}.;:'"

  9. ios 视频播放代码Demo

    方法一: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. / ...

  10. springboot-quartz 实现动态添加,修改,删除,暂停,恢复等功能

    任务相关信息:springboot-quartz普通任务与可传参任务 一.任务实体类 package cloud.app.prod.home.quartz; import java.io.Serial ...