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, 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"

 

posted @ 2016-07-20 09:40  chenjingchun  阅读(4686)  评论(0编辑  收藏  举报