分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

.NET Core 通过EPPlus批量导出

发布时间:2023-09-06 02:02责任编辑:郭大石关键词:.NET

前台代码:

前台代码是在.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批量导出

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved