.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);
- }
菜鸟代码,大神勿喷,
.Net Core---- 通过EPPlus批量导出的更多相关文章
- ASP.NET Core使用EPPlus导入导出Excel
开发过程中,经常会遇到导入导出数据的需求,本篇博客介绍在.NET Core中如何使用EPPlus组件导入导出Excel EPPlus: EPPlus是使用Open Office XML格式(xlsx) ...
- .NET CORE webapi epplus 导入导出 (实习第一个月的笔记)
最近有个需求就是网页表格里面的数据导出到excel 于是从各位前辈的博客园搜了搜demo 大部分非为两类 都是用的插件NPOI和Eppluse ,因此在这里就介绍Eppluse 用法,还有就是在博 ...
- 批量导出access某表内容到word文档
一.需求: 需要将表中每一条记录中的某些内容导出在一个word文档中,并将这些文档保存在指定文件夹目录下 二.界面,简单设计如下: 三.添加office相关引用 添加后可在解决方案资源管理器中看到: ...
- ASP.NET Core使用EPPlus操作Excel
1.前言 本篇文章通过ASP.NET Core的EPPlus包去操作Excel(导入导出),其使用原理与NPOI类似,导出Excel的时候不需要电脑上安装office,非常好用 2.使用 新建一个AS ...
- java使用POI操作excel文件,实现批量导出,和导入
一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Exc ...
- Asp .Net Core Excel导入和导出
ASP .Net Core使用EPPlus实现Api导入导出,这里使用是EPPlus 4.5.2.1版本,.Net Core 2.2.在linux上运行的时候需要安装libgdiplus . 下面我们 ...
- 分享一个批量导出当前实例下的所有linkedserver脚本
分享一个批量导出当前实例下的所有linkedserver脚本 很多时候,我们都需要导出实例下面的登录用户,job,linkedserver等等 导出job比较复杂,下午写了一个脚本把所有的linked ...
- Max批量导出工具
Max批量导出工具 http://www.paulneale.com/scripts/batchItMax/batchItMax.htm Scripts Batch It Max: Batch It ...
- python批量导出导入MySQL用户的方法
这篇文章主要介绍了 数据库迁移(A -> B),需要把用户也迁移过去,而用户表(mysql.user)有上百个用户.有2种方法进行快速迁移: 1,在同版本的条件下,直接备份A服务器的mysql数 ...
随机推荐
- 7年,OpenStack从入门到放弃|送书
七年之痒这个词,大家经常说,不过起源,估计就不是谁都清楚.这是梦露的一部影片的名字,后来大家发现无论是企业,家庭,甚至政府,都在第七年时间段上面临各种麻烦. OpenStack存在的问题,其实已经不是 ...
- OSGI嵌入tomcat应用服务器(gem-web)——tomcat插件环境搭建
相关的资源下载,参考:https://www.cnblogs.com/dyh004/p/10642769.html 新建普通的plugin工程 新建工程运行环境 在工程中,新建运行环境 新建存放运行环 ...
- 进程与线程的通信机制----Queue
进程运行时候变量是隔离的,线程间共享全局变量. 进程: from multiprocessing import Process from threading import Thread def get ...
- 如何搭建SVN的客户端和使用
1.下载安装TortoiseSVN 首先我们需要从官方网站下载TortoiseSVN客户端工具 可以选择32位和64位.也可以直接使用搜索引擎搜索TortoiseSVN 也会出现直接的下载方式.这里不 ...
- Flutter之CustomView
文中所有示例代码请点击: gitee.com/yumi0629/Fl… 今天呢,我小拉面主要想给大家讲一讲Flutter中的 Slivers 大家族的使用场景和方法.开发过列表布局的同学们应该对 Sl ...
- SpringCloud学习笔记:声明式调用Feign(4)
1. Feign简介 Feign采用声明式API接口的风格,将Java HTTP客户端绑定到它的内部. Feign的首要目标是简化Java HTTP客户端调用过程. 2.Feign客户端示例 Feig ...
- mpvue——另类支持v-html
前言 最近在用mpvue将之前写的vue项目转化为小程序,但是不支持v-html,也不能说不支持,只不过转化为了rich-text的富文本组件,但是图片显示不全啊 本来想让后端内嵌个样式的,还是算了, ...
- MYSQL实战-------丁奇(极客时间)学习笔记
1.基础架构:一条sql查询语句是如何执行的? mysql> select * from T where ID=10: 2.基础架构:一条sql更新语句是如何执行的? mysql> upd ...
- FMT 与 子集(逆)卷积
本文参考了 Dance of Faith 大佬的博客 我们定义集合并卷积 \[ h_{S} = \sum_{L \subseteq S}^{} \sum_{R \subseteq S}^{} [L \ ...
- JSON.stringify() 和 JSON.parse()
stringify()用于从一个对象解析出字符串,如 var obj = {x: 1, y: 2 } console.log(JSON.stringify(obj)) //{"x" ...