.net mvc將數據庫數據導出到Excel表


第一步:NuGet下載EPPlus

 

第二步:控制器代碼,在名為CorrectHomeWork的控制器創建方法ExcelExport,頭部不需要[HttpPost]

  //將該課程中的該作業命題的全部學生作業導入Excel表
        public ActionResult ExcelExport()
        {
            string Task_Title = Session["Task_Title"].ToString();
            string L_Name = Session["L_Name"].ToString();
            string C_Name = Session["C_Name"].ToString();
            //指定項目存放的路徑
            string sWebRootFolder = AppDomain.CurrentDomain.BaseDirectory + "/DownLoadExcelexport";
            //指定項目名字
            //string sFileName = $"{Guid.NewGuid()}.xlsx";
            string sFileName = C_Name+ L_Name+ Task_Title+"作業成績表"+ $"{Guid.NewGuid()}.xlsx";
            //把項目名加到指定存放的路徑
            FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
            using (ExcelPackage package = new ExcelPackage(file))
            {
                //添加worksheet的名字
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("作業成績單");
                //添加表頭名字
                worksheet.Cells[1, 1].Value = "學號";
                worksheet.Cells[1, 2].Value = "班級";
                worksheet.Cells[1, 3].Value = "作業命題";
                worksheet.Cells[1, 4].Value = "分數";
                worksheet.Cells[1, 5].Value = "首次提交日期";
                worksheet.Cells[1, 6].Value = "最后修改日期";
                worksheet.Cells[1, 7].Value = "教師評價";
                //添加值
                var rowNum = 2; // rowNum 1 is head
                var Homework = homeWorkService.Query(s => s.Task_Title == Task_Title && s.L_Name == L_Name);
                //var Homework = from s in con.Homework select s;//循環數據庫輸出數據
                Homework = Homework.OrderBy(s => s.S_Number);
                foreach (var message in Homework)
                {
                    worksheet.Cells["A" + rowNum].Value = message.S_Number;
                    worksheet.Cells["B" + rowNum].Value = message.C_Name;
                    worksheet.Cells["C" + rowNum].Value = message.Task_Title;
                    worksheet.Cells["D" + rowNum].Value = message.HW_Grade;
                    worksheet.Cells["E" + rowNum].Value = message.HW_SubmitDate.ToString();
                    worksheet.Cells["F" + rowNum].Value = message.HW_UpdataDate.ToString();
                    worksheet.Cells["G" + rowNum].Value = message.HW_Comment;
                    rowNum++;
                }
                package.Save();
            }
            //獲取到存在項目中文件的路徑
            var fileUrl = Server.MapPath("~/DownLoadExcelexport/" + sFileName);
            //application/ms-excel為內部固定的,
            return File(fileUrl, "application/ms-excel", sFileName);
        }

 

第三步:在視圖<a>標簽調用控制器方法:

<span style="font-size:18px;color:blue"><a href="/CorrectHomeWork/ExcelExport">Excel表導出作業</a></span>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM