.NET Core 通过EPPlus批量导出
程序员文章站
2022-04-20 23:06:55
前台代码: 前台代码是在.net core bootstrap集成框架上的(这是效果浏览地址:http://core.jucheap.com),首先是添加Nuget包, 下面就是控制器代码: 新手代码,大神勿喷, ......
前台代码:
前台代码是在.net core bootstrap集成框架上的(这是效果浏览地址:),首先是添加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_Excel 导出二维码(以导出箱单为例)
-
Asp.Net Core 通过中间件防止图片盗链的实例
-
.net core ajax使用EPPlus上传excle导入总结
-
建议收藏:.net core 使用EPPlus导入导出Excel详细案例,精心整理源码已更新至开源模板
-
在ASP.NET Core中使用托管启动(hosting startup)程序集,实现批量注册service
-
net core WebApi——使用NPOI导入导出操作
-
ASP.NET MVC使用EPPlus,导出数据到Excel中
-
asp.net core通过控制台启动,设置端口与运行环境
-
在ASP.NET Core中实现自动注入、批量注入
-
.net core版 文件上传/ 支持批量上传拖拽及预览功能(bootstrap fileinput上传文件)