MVC下使用NPOI的Execl导出
第一步
首先导入NPOI引入文件(右键项目->管理NUget包,即可引入)
第二步
前台只需要添加一个按钮调向控制器即可
第三步
控制器代码
代码
/// <summary> /// 导出execl所有专业数据 /// </summary> /// <returns></returns> public ActionResult ZExport() { //专业表集合 List<subject> subjects = new List<subject>(); //获取所有专业信息 subjects = subjectService.GetModels().ToList(); // 创建HSSFWorkbook对象(excel的文档对象) HSSFWorkbook hssfWorkbook = OutputSearchResultZ(subjects); 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"); } //插入专业表数据到execl //List<subject>专业列表 public HSSFWorkbook OutputSearchResultZ(List<subject> list) { HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); ISheet sheet = hssfWorkbook.CreateSheet("专业信息表");//底部execl页名 IRow rowHeader = sheet.CreateRow(0); rowHeader.CreateCell(0, CellType.String).SetCellValue("id");//列名 rowHeader.CreateCell(1, 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].subject_id); dataRow.CreateCell(1, CellType.String).SetCellValue(list[i].subject_name); } return hssfWorkbook; }