參考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"