码迷,mamicode.com
首页 > Web开发 > 详细

.NET Core 通过EPPlus批量导出

时间:2018-07-05 10:17:17      阅读:506      评论:0      收藏:0      [点我收藏+]

标签:datetime   EAP   rtt   i++   exp   lse   获取   意见反馈   host   

前台代码:

前台代码是在.net core bootstrap集成框架上的(这是效果浏览地址:http://core.jucheap.com),首先是添加Nuget包,

 <button id="btnExport" type="button" class="btn btn-info " onclick="exportModel()"><i class="fa fa-paste"></i> 导出Excel</button>





 function exportModel() { //导出
            var delDatas = JucheapGrid.GetDataTableDeleteData();
            if (delDatas.Len > 0 && delDatas.Data.length > 0) {
                if (confirm("确认要导出这" + delDatas.Len + "条数据?")) {
// delDatas.Data 传入的id值 window.location.href = "/***/***?id=" + delDatas.Data; } } else { alert("请选择要导出的数据!"); } }

  下面就是控制器代码:

   #region 导出Excel.xlsx文件
        public IActionResult ExportText()
        {

            string sWebRootFolder = _hostingEnvironment.WebRootPath;
            string sFileName = $"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.xlsx";
            FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
            if (file.Exists)
            {
                file.Delete();
                file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
            }
            using (ExcelPackage package = new ExcelPackage(file))
            {
               string str = Request.Query["id"];//获取传过来的id
                String[] str1 = str.Split(",");
                long[] ids = new long[str1.Length];
                for (int i = 0; i < str1.Length; i++)
                {
                    ids[i] = long.Parse(str1[i]);//装成long数组
                }
             //根据id在数据库获取集合
                IList<FeedbackDto> collection = _usermanagementservice.GetExportAsync(ids);
                // 添加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 = "***";
                worksheet.Cells[1, 8].Value = "***";
                worksheet.Cells[1, 1].Style.Font.Bold = true;
                worksheet.Cells[1, 2].Style.Font.Bold = true;
                worksheet.Cells[1, 3].Style.Font.Bold = true;
                worksheet.Cells[1, 4].Style.Font.Bold = true;
                worksheet.Cells[1, 5].Style.Font.Bold = true;
                worksheet.Cells[1, 6].Style.Font.Bold = true;
                worksheet.Cells[1, 7].Style.Font.Bold = true;
                worksheet.Cells[1, 8].Style.Font.Bold = true;
                for (int i = 0; i < collection.Count; i++)
                {
                    worksheet.Cells[2 + i, 1].Value = collection[i].*;//这的*是字段名
                    worksheet.Cells[2 + i, 2].Value = collection[i].*;
                    worksheet.Cells[2 + i, 3].Value = collection[i].*;
                    worksheet.Cells[2 + i, 4].Value = collection[i].*;
                    worksheet.Cells[2 + i, 5].Value = collection[i].*;
                    worksheet.Cells[2 + i, 6].Value = collection[i].*;
                    worksheet.Cells[2 + i, 7].Value = collection[i].CreateTime.ToString();//日期tostring一下,不然是乱的
                    worksheet.Cells[2 + i, 8].Value = collection[i].UpdateTime.ToString();
                }
                package.Save();

            }
           
            return File(sFileName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", sFileName);
        }

  新手代码,大神勿喷,

.NET Core 通过EPPlus批量导出

标签:datetime   EAP   rtt   i++   exp   lse   获取   意见反馈   host   

原文地址:https://www.cnblogs.com/wuyabaibsd/p/9266612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!