参考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. hdu 4171 最短路

    #include<stdio.h> #include<string.h> #include<queue> #include<iostream> usin ...

  2. 从零搭建流媒体服务器+obs推流直播

    背景介绍 本文使用的流媒体服务器的搭建是基于rtmp(Real Time Message Protocol)协议的,rtmp协议是应用层的协议,要依靠底层的传输层协议,比如tcp协议来保证信息传输的可 ...

  3. Flume基本概念

    1         Apache Flume 1.1         概述 Flume是Cloudera提供的一个高可用,高可靠的,分布式的海量日志采集.聚合和传输的软件. Flume的核心是把数据从 ...

  4. cogs 1310. [HAOI2006]聪明的猴子

    1310. [HAOI2006]聪明的猴子 ★   输入文件:monkey.in   输出文件:monkey.out   简单对比时间限制:1 s   内存限制:128 MB [题目描述] 在一个热带 ...

  5. java调用c++ dll出现中文乱码

    近期的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作. 在调用中假设路径中包括有中文字符就会出现故障.程序执行就会中止. 以下用一个小样例,来说明记 ...

  6. mysql数据库操作(3)

    1.在查询结果中不显示重复记录 查询时不显示重复记录主要应用了 DISTINCT 关键字,该关键字用于删除重复记录. 在实现查询操作时,如果查询的选择列表中包含一个表的主键,那么每个查询中的记录都将是 ...

  7. 关于api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案

    关于api-ms-win-crt-runtimel1-1-0.dll缺失的解决方案 目录 关于api-ms-win-crt-runtimel1-1-0dll缺失的解决方案 目录 安装VC redite ...

  8. 协同过滤算法中皮尔逊相关系数的计算 C++

    template <class T1, class T2>double Pearson(std::vector<T1> &inst1, std::vector<T ...

  9. 关于我们ajax异步请求的方法与知识

      做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school ...

  10. Appium + python - 监控appium server start

    import osimport time as t def start_appium(port = 4723,udid="4871660c"): a = os.popen(&quo ...