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;
        }

 

 

 

  

 

posted @ 2019-03-16 14:18  上铺的那个人  阅读(202)  评论(0编辑  收藏  举报