NET MVC FileResult 导出/下载 文件/Excel
参考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的更多相关文章
- thinkphp3.2.3 excel导出,下载文件,包含图片
关于导出后出错的问题 https://segmentfault.com/q/1010000005330214 https://blog.csdn.net/ohmygirl/article/detail ...
- Spring MVC之ResposeEntity下载文件
Spring Mvc中用ResponseEntity方式下载文件如下: @RequestMapping("/download") public ResponseEntity< ...
- mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法
Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它 ...
- ASP.NET MVC 以Stream 下载文件
1.0以Stream 下载文件 nl.fileid = Int32.Parse(id); //服务器上对应的id Stream stream = Lawsuit.DownLoad(nl);//服务器 ...
- asp.net mvc + javascript生成下载文件
近期做的是对现有项目进行重构.WEB FROM改成MVC,其实也算是推倒重来了. 里面有一个导出功能,将数据输出成txt文件,供下载.原先的做法是有一个隐藏的iframe,在这个iframe的页面中设 ...
- asp.net mvc 上传下载文件的几种方式
view: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...
- post方式实现导出/下载文件
项目需求: 前端需要传入过多的参数给后端,get地址栏不行,只能接受post方式去导出数据 1.get的下载方式 通常下载方式如下: let url = xxxx.action?a=xx&b= ...
- js实现前端导出大文件Excel
//base64转换成blob function dataURIToBlob(dataURI, callback) { var binStr = atob(dataURI.split(",& ...
- MVC 生成图片,下载文件(图片不存在本地,在网上下载)
/// <summary> /// 生成图片 /// </summary> /// <param name="collection"></ ...
随机推荐
- Leetcode 42.接雨水
接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水. 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下 ...
- 洛谷—— P2733 家的范围 Home on the Range
https://www.luogu.org/problem/show?pid=2733 题目背景 农民约翰在一片边长是N (2 <= N <= 250)英里的正方形牧场上放牧他的奶牛.(因 ...
- ICMP报文类型
类型代码 类型描写叙述 0 响应应答(ECHO-REPLY) 3 不可到达 4 源抑制 5 重定向 8 响应请求(ECHO-REQUEST) 11 超时 12 參数失灵 13 时间戳请求 14 时间 ...
- 基数排序之多keyword排序运用队列
源码例如以下: #include <stdlib.h> #include <stdio.h> typedef struct QUEUEnode* link; struct QU ...
- wordpress相关
事故:wordpress不论什么页面所有是404 not found,找不到不论什么页面. 解决:在nginx.conf中80port以下的凝视消除掉. location ~ \.php$ { ...
- leetcode第一刷_Convert Sorted Array to Binary Search Tree
晕.竟然另一样的一道题.换成sorted array的话.找到中间位置更加方便了. TreeNode *sortTree(vector<int> &num, int start, ...
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
MFC小程序截图: 一.在MFC中简单使用WebBrowser的ActiveX插件的方法: 见博文: http://blog.csdn.net/supermanking/article/detail ...
- the solution of CountNonDivisible by Codility
question:https://codility.com/programmers/lessons/9 To solve this question , I get each element's di ...
- 【 D3.js 进阶系列 — 2.2 】 力学图的參数
力学图的布局中有非常多參数.本文将逐个说明. D3 中的力学图布局是使用韦尔莱积分法计算的.这是一种用于求解牛顿运动方程的数值方法,被广泛应用于分子动力学模拟以及视频游戏中. 定义布局的代码例如以下: ...
- hdu5044(二分)
题意:一个树上建两个加油站.使得全部点到达其近期加油站的最大距离最小. 解法:二分答案.关键时二分时候,要最合理话布局两个点的位置,做法是处理出来树的直径,然后在直径两端分别向中间移动二分的x步的两个 ...