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

      菜鸟代码,大神勿喷,

  • 相关阅读:
    日常排雷:redis报错 could not get a resource from the pool
    阿里云centos服务器tomcat启动后,浏览器请求无响应
    并发生产顺序单据号测试
    json 数据 格式,请求接口,部分字段无法注入
    baomidou 动态数据源@DS 使用问题
    SpringMVC框架深入(八)--SpringMVC原理
    Spring框架深入(七)--json数据交互
    框架理论深入(六)--拦截器
    Spring框架深入(五)--文件上传和异常处理
    int和Integer的区别
  • 原文地址:https://www.cnblogs.com/wuyabaibsd/p/9266612.html
Copyright © 2011-2022 走看看