NET MVC FileResult 导出/下载 文件/Excel
2016-07-20 09:40
411 查看
参考https://www.geek-share.com/detail/2495719760.html
1.引入NPOI
2.代码
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
public FileResult ExportExcel() { List<DispatchViewModel> list = DispatchDAL.GetDispatchPagedList(m => true, 1, 999999999); HSSFWorkbook hssfWorkbook = OutputSearchResult(list); byte[] data = null; using (MemoryStream ms = new MemoryStream()) { hssfWorkbook.Write(ms); ms.Flush(); ms.Position = 0; 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(0); rowHeader.CreateCell(0, CellType.String).SetCellValue("维修编号"); rowHeader.CreateCell(1, CellType.String).SetCellValue("姓名"); rowHeader.CreateCell(2, CellType.String).SetCellValue("手机号码"); rowHeader.CreateCell(3, CellType.String).SetCellValue("省"); rowHeader.CreateCell(4, CellType.String).SetCellValue("市"); rowHeader.CreateCell(5, CellType.String).SetCellValue("区"); rowHeader.CreateCell(6, CellType.String).SetCellValue("详细地址");for (int i = 0; i < list.Count; i++) { IRow dataRow = sheet.CreateRow(i + 1); dataRow.CreateCell(0, CellType.String).SetCellValue(list[i].ID); dataRow.CreateCell(1, CellType.String).SetCellValue(list[i].ContactsName); dataRow.CreateCell(2, CellType.String).SetCellValue(list[i].Phone); dataRow.CreateCell(3, CellType.String).SetCellValue(list[i].ProvinceName); dataRow.CreateCell(4, CellType.String).SetCellValue(list[i].CityName); dataRow.CreateCell(5, CellType.String).SetCellValue(list[i].AreaName); dataRow.CreateCell(6, CellType.String).SetCellValue(list[i].Address); } return hssfWorkbook; }
3.页面请求
window.location.href = "/shoporder/ExportExcel"
相关文章推荐
- BMI体重指数计算器
- spring ,mybatis多数据源
- webpack--简单入门(1)
- android-基础知识整理--四大组件(未完)
- Java 中Map 的用法详解
- 42 翻转单词顺序
- build path
- Caused by: android.util.AndroidRuntimeException: You cannot combine custom titles with other title f
- Kafka
- python连接mysql并进行操作代码
- CodeForces 556A Case of the Zeros and Ones
- window下使用vnc远程登录ubuntu/linux图形界面 和odroid Xu4开发板的使用
- js 事件
- trie + 长度优先匹配,生成串
- 07.20 html5的适配flexible
- GIS项目设计——MaoEr森林资源管理系统
- iOS面试题系列之UI相关
- Codeforces Round #363 (Div. 2) C. Vacations(DP)
- Codeforces-Round-#363-Vacations
- 决定面试成败的3个独立思考能力面试题