参考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. Android RecyclerViewSwipeDismiss:水平、垂直方向的拖曳删除item

     Android RecyclerViewSwipeDismiss:水平.垂直方向的拖曳删除item RecyclerViewSwipeDismiss是一种支持RecyclerView的水平.垂直 ...

  2. sql server的数据库个数、表个数及表的数据量统计

    sql server的数据库个数.表个数及表的数据量统计   --由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将写好的代码贴出来,用到如下的: --sysobje ...

  3. SSM框架下实现导入功能

    何叫导入?简单说,导入就是把excel表格里的数据插入到数据库里.我这里做的是支持.xls和.xlsx格式. 因为是自己做案例记录,那些jar包什么的就不细说了,主要讲实现和步骤,看代码: 先在你的项 ...

  4. noip模拟赛 Chtholly Nota Seniorious

    题目背景 大样例下发链接: https://pan.baidu.com/s/1nuVpRS1 密码: sfxg こんなにも.たくさんの幸せをあの人に分けてもらった だから.きっと 今の.私は 谁が何と ...

  5. kendo grid create

    这种自定义的create中的函数,这个data的行为是在发送到后端之前执行的 //{ // url: "/admgr/AdUserAuthorityAdd", // dataTyp ...

  6. N天学习一个linux命令之lsof

    用途 列出进程已打开的文件,文件可以是常规文件,特殊文件,目录,socket,设备,共享库等.如果不带参数,lsof显示所有进程打开的所有文件. 用法 lsof [ -?abChlnNOPRtUvVX ...

  7. Linux C程序存储空间的逻辑布局

    原文:http://blog.chinaunix.net/uid-20692625-id-3057053.html ------------------------------------------ ...

  8. CreateDialog Win32 API调用的一个小问题

    在老版本号的VC编译器上.关键调用是下面2句: InitCommonDialogs(); HWND hwndDialog = CreateDialog(hInstance, "IDD_XXX ...

  9. JArray获取元素值

    MXS&Vincene  ─╄OvЁ  &0000003 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...

  10. 最小堆min_stack

    class MinStack {public: void push(int x) { ele.push(x); if(min.empty()||x<=min.top())    // in or ...