.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数 ...
随机推荐
- 一个.net的程序员如何转到java的?
先说明,大佬请忽略我这篇文章, 我是一个做了5年的纯种C#开发人, 我在此仅记录一下我转java的过程.都知道, java是开源的,所以它的开发工具贼多,不像.net, 直接地表最强的IDE. 像现 ...
- 使用Github生成燃尽图
经过一晚上折腾,终于算是把linux上成功生成了我们团队项目的燃尽图,效果还是不错,在过程中又发现了另一种生成燃尽图的方式,也是基于一个开源项目. 1.准备: 首先你的项目一定要有milestone. ...
- 【学习总结】GirlsInAI ML-diary day-18-下载/保存excel
[学习总结]GirlsInAI ML-diary 总 原博github链接-day18 使用Python来操作excel文件 Excel的处理与DataFrame格式是分不开的 可以理解为DataFr ...
- mpvue——componets中引入vant-weapp组件
前言 这个问题很奇葩,网上也有很多人,给了很多方法,但是我想说的是,那些方法我用了都没效果,我试了一些都没效果,因为我当时引入时报错说没有export default出来,但是一旦暴露出来就又出其他问 ...
- Android Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency
错误内容: Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency ...
- 记录一次被bc利用跳转过程分析
挖公司的项目站,发现站点一访问就直接跳转到了赌博站,有点懵逼,简单分析下hc利用过程: 公司项目站:http://***.com 当我访问它: 通过http:***.com直接跳转到了306648.c ...
- Django--ORM相关操作
必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs ...
- Stanford Local 2016 G "Ground Defense"(线段树)
传送门 题意: 有 n 个城市,编号 1~n: 有两种操作:Update,Query Update: E i s a d 更新区间[ i,i+d-1 ], i 节点降落 s 人, i+1 节点降落 s ...
- L1-023 输出GPLT (20 分)
L1-023 输出GPLT (20 分) 给定一个长度不超过10000的.仅由英文字母构成的字符串.请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符.当然,四种字符(不区 ...
- python Django cookie和session
在一个会话的多个请求中共享数据,这就是会话跟踪技术.例如在一个会话中的请求如下: 请求银行主页: 请求登录(请求参数是用户名和密码): 请求转账(请求参数与转账相关的数据): 请求信誉卡还款(请求参 ...