.net core3.1 從數據庫讀取數據(導出)到excel表(導出)實戰


我的數據表結構:

 

 

1.編寫從數據庫讀取數據的相關業務邏輯(省略,若對我的業務邏輯代碼感興趣,可私聊)

2.編寫導出到excel表的代碼 

控制器部分代碼如下:

     /// <summary>
        /// 導出數據
        /// </summary>
        /// <returns></returns>
        [Route("ExportData")]
        public IActionResult ExportData()
        {
            //TODO 從數據庫讀取數據相關業務邏輯需要自己編寫
            var data = lawyerLogic.GetLawyers()?.ToList();

            if (data?.Any() != true)
            {
                return new ContentResult() {Content = "未查詢到任何數據"};
            }

            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            using (var ep = new ExcelPackage())
            {
                using (var worksheet = ep.Workbook.Worksheets.Add("導出數據測試"))
                {
                    var x = 1;
                    var y = 1;

                    var columnTitles = new List<string>()
                    {
                        "律師編號",
                        "律師名稱",
                        "狀態"
                    };

                    foreach (var columnTitle in columnTitles)
                    {
                        var cell = worksheet.Cells[x, y++];
                        cell.Style.Font.Bold = true;
                        cell.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
                        cell.Style.VerticalAlignment = ExcelVerticalAlignment.Center;
                        cell.Value = columnTitle;
                    }

                    foreach (var item in data)
                    {
                        x++;
                        y = 1;
                        var cell = worksheet.Cells[x, y++];
                        cell.Value = item.LawyerId;
                        cell = worksheet.Cells[x, y++];
                        cell.Value = item.LawyerName;
                        cell = worksheet.Cells[x, y++];
                        cell.Value = (int)item.Status;
                    }

                    using (var stream = new MemoryStream())
                    {
                        ep.SaveAs(stream);
                        return new FileContentResult(stream.ToArray(),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
                        {
                            FileDownloadName="導出數據測試.xlsx"
                        };
                    }


                }
            }

        }

 以上便是我的.net core3.1 從數據庫讀取數據(導出)到excel表過程及代碼,若有不足之處請指正,謝謝。


免責聲明!

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



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