zoukankan      html  css  js  c++  java
  • .Net Core---- 通过EPPlus批量导出

    前台代码:

    前台代码是在.net core bootstrap集成框架上的(这是效果浏览地址:http://core.jucheap.com[效果地址来自:http://blog.csdn.net/allenwdj]),首先是添加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();//通过jqgrid获取id值
                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 = "id";//这的*号表示的是导出后列的名称
                    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].id;//这的*是字段名
                        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);
            }
    

      菜鸟代码,大神勿喷,

  • 相关阅读:
    js使用sessionStorage、cookie保存token
    在vue项目中的main.js中直接使用element-ui中的Message 消息提示、MessageBox 弹框、Notification 通知
    git报错:'fatal:remote origin already exists'怎么处理、附上git常用操作以及说明
    Module build failed: TypeError: loaderContext.getResolve is not a function
    Git相关命令
    用户反馈录
    静雅斋数学[目录]
    探索|尝试编制高质量的跟踪训练试卷
    直线参数方程何时必须化为标准形式
    快速高效的做三角函数图像
  • 原文地址:https://www.cnblogs.com/wuyabaibsd/p/9266612.html
Copyright © 2011-2022 走看看