ABP学习笔记:使用EPPlus以表格导出数据
问题描述:这两天需求是导出患者信息,本来是想从前端调库获取dom元素表格来导出,奈何之前前端的数据是分页加载的,数据量过大就无法完整导出,最后还是把目标放在后端,调接口来导出excel。看了看之前同事写的导出方法,用的是ExcelPackage,网上找了找资料整合了一下。
EPPlus介绍
1、可以保存为Stream
public ExcelPackage(Stream newStream);2、可以根据模板生成Excel
public ExcelPackage(FileInfo template, bool useStream);3、可以直接生成新Excel
public ExcelPackage(FileInfo newFile);
使用例子:
ExcelPackage的使用
1、创建Excel
首先引入EPPlus的DLL文件,
创建Excel,所有代码均放在这个using语句里面,在using语句里面我们可以创建多个worksheet, ExcelPackage后面可以传入路径参数
using (ExcelPackage package=new ExcelPackage(new FileInfo(@"d:\test.xlsx"))){ }
2、创建工作表worksheet
using (ExcelPackage package=new ExcelPackage(new FileInfo(@"d:\test.xlsx")))
{ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test");//创建worksheet
}
3、保存Excel
using (ExcelPackage package = new ExcelPackage(new FileInfo(@"d:\test.xlsx"))){ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test");//创建worksheetpackage.Save();//保存excel}
4、添加数据
Epplus中给单元格赋值非常简单,两种方法:( ps:Epplus的所有行列数都是以1开始的 )
worksheet.Cells[1, 1].Value = "名称";//直接指定行列数进行赋值
worksheet.Cells["A1"].Value = "名称";//直接指定单元格进行赋值
完整的创建一个Excel的例子代码
FileInfo newFile = new FileInfo(@"d:\test.xlsx");if (newFile.Exists){newFile.Delete();newFile = new FileInfo(@"d:\test.xlsx");}using (ExcelPackage package = new ExcelPackage(newFile)){ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test");worksheet.Cells[1, 1].Value = "名称";worksheet.Cells[1, 2].Value = "价格";worksheet.Cells[1, 3].Value = "销量";worksheet.Cells[2, 1].Value = "大米";worksheet.Cells[2, 2].Value = 56;worksheet.Cells[2, 3].Value = 100;worksheet.Cells[3, 1].Value = "玉米";worksheet.Cells[3, 2].Value = 45;worksheet.Cells[3, 3].Value = 150;worksheet.Cells[4, 1].Value = "小米";worksheet.Cells[4, 2].Value = 38;worksheet.Cells[4, 3].Value = 130;worksheet.Cells[5, 1].Value = "糯米";worksheet.Cells[5, 2].Value = 22;worksheet.Cells[5, 3].Value = 200;package.Save();}
获取文件夹的物理路径 HttpContext.Current.Server.MapPath("/文件夹名");
组合完整Excel路径(也可以用字符串拼接)Path.Combine(Template,"数据导出的表格.xlsx");
其他: String.Replace 替换
File.Copy 复制
ABP学习笔记:使用EPPlus以表格导出数据相关推荐
- Abp学习笔记---轻松搞懂模块
做.net开发的朋友或多或少都听说过这个框架,自己在差不多一年前也才开始听说,但是!!!之前也没太当回事,一来是工作项目上用不着,二来以为到时候需要用的时候再拿来用就好了. 现在看来却是大错特错!近段 ...
- 【Springboot学习笔记】SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法
[Springboot学习笔记]SpringBoot+Mybatis+Thymeleaf+Layui数据表单从零开始实现按条件模糊分页查询的方法 目录 1.搭建环境 1.1直接从网上下载SpringB ...
- 《R数据科学》学习笔记|Note8:使用dplyr处理关系数据
使用dplyr处理关系数据 往期文章 <R数据科学>学习笔记|Note1:绪论 <R数据科学>学习笔记|Note2:使用ggplot2进行数据可视化(上) <R数据科学& ...
- Kafka学习笔记(3)----Kafka的数据复制(Replica)与Failover
1. CAP理论 1.1 Cosistency(一致性) 通过某个节点的写操作结果对后面通过其他节点的读操作可见. 如果更新数据后,并发访问的情况下可立即感知该更新,称为强一致性 如果允许之后部分或全 ...
- Kinect开发学习笔记之(七)骨骼数据的提取
Kinect开发学习笔记之(七)骨骼数据的提取 zouxy09@qq.com http://blog.csdn.net/zouxy09 我的Kinect开发平台是: Win7x86 + VS2010 ...
- at24c16如何划分出多个读写区_AVR学习笔记九、基于AT24C16的数据存储实验
Ema{@AVR 学习笔记九.基于 AT24C16 的数据存储实验 ------- 基于 LT_Mini_M16 9.1 用 I/O 口模拟 I2C 总线实现 AT24C16 的读写 9.1.1 .实 ...
- Qt 表格导出数据为 excel html csv
Qt 表格导出数据为 excel html csv 示例 使用WPS导出出错问题 参考: 从QTableView中导出数据到excel(一) qt QTableWidget&&QTab ...
- Polyworks脚本开发学习笔记(四)-利用FILE IMPORT进行数据导入及对齐
Polyworks脚本开发学习笔记(四)-利用FILE IMPORT进行数据导入及对齐 导入参考及数据 FILE IMPORT_REFERENCE导入参考的CAD文件如igs格式 括号内参数分别为(导 ...
- C语言学习笔记-----scanf【通过键盘将数据输入到变量中】(两种用法)
C语言学习笔记-----scanf[通过键盘将数据输入到变量中](两种用法) 用法一:scanf("输入控制符",输入参数): 功能: 将从键盘输入的字符转化为输入控制符所规定格式 ...
最新文章
- 深度学习中的注意力机制(三)
- git生成SSH-Key
- python去除特殊字符_python去除BOM头\ufeff等特殊字符
- 前端学习(3075):vue+element今日头条管理-反馈
- org/springframework/util/backoff/BackOff
- Project中三种任务类型解释
- Python 中的新式类和经典类的区别?
- 2018 5大技术趋势
- Akash Network主网现已部署Sushiswap应用
- IBM MQ的常用命令
- 搭建前端监控系统(四)接口请求异常监控篇
- mysql 递归查询所有父级
- 架构方案(9) 如何构建一套高可用的 APP 消息推送平台
- kaminari分页插件的使用
- 【区块链108将】把小白和老炮儿聚合到一起打造完整的区块链社区生态
- 组合计数——车的放置(逆元)+数三角形+序列统计(lucas定理)
- 微信wifi路由器怎么连接服务器,介绍下微信WIFI路由器怎么设置的方法
- OneDrive 正在登录
- 剪切板上的隐私泄露,真的很严重
- 技术支撑团队技术支持工程师的技能要求