Excelpackage的简单使用(导出用户信息并保存)
EPPlus介绍
EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,在导出Excel的时候不需要电脑上安装office。
基本上Excel上的各种功能(例如图表、VBA、数据透视表、加密、数据验证等)Epplus都能实现,它的一个缺点就是不支持导出2003版的Excel。
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");//创建worksheet
package.Save();//保存excel
}
4、添加数据
Epplus中给单元格赋值非常简单,两种方法:( ps:Epplus的所有行列数都是以1开始的 )
worksheet.Cells[, ].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[, ].Value = "名称";
worksheet.Cells[, ].Value = "价格";
worksheet.Cells[, ].Value = "销量"; worksheet.Cells[, ].Value = "大米";
worksheet.Cells[, ].Value = ;
worksheet.Cells[, ].Value = ; worksheet.Cells[, ].Value = "玉米";
worksheet.Cells[, ].Value = ;
worksheet.Cells[, ].Value = ; worksheet.Cells[, ].Value = "小米";
worksheet.Cells[, ].Value = ;
worksheet.Cells[, ].Value = ; worksheet.Cells[, ].Value = "糯米";
worksheet.Cells[, ].Value = ;
worksheet.Cells[, ].Value = ; package.Save();
}
在数据导入Excel中时,如果数据量很大,可能会比较慢。 我觉得可以拆分成几个Excel表格进行导出(没有尝试,只是猜测......)
可以用到的一些创建文件夹的东西
获取文件夹的物理路径 HttpContext.Current.Server.MapPath("/文件夹名");
组合完整Excel路径(也可以用字符串拼接)Path.Combine(Template,"数据导出的表格.xlsx");
其他: String.Replace 替换
File.Copy 复制
Excelpackage的简单使用(导出用户信息并保存)的更多相关文章
- 微信小程序 获取用户信息并保存登录状态
微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml
- jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项
网站A:代码:网站a的login.html页面刷新,使用jsonp方式将信息传递给b.com的login.php中去,只需要在b.com中设置一下跨域以及接收参数,然后存到cookei即可, 注意:网 ...
- 使用cookie/session实现简单的用户信息的保存
cookie一般用来存储非关键信息 , 用户名和密码等敏感信息一般采用session 来存储:cookie和session的最大区别是当服务器端存储session 之后,用户再次请求时候只是请求了一个 ...
- Laravel OAuth2 (一) ---简单获取用户信息
前言 本来要求是使用微信进行第三方登陆,所以想着先用 github 测试成功再用微信测试,可是最近拖了好久都还没申请好微信开放平台的 AppID ,所以就只写 github 的第三方登陆吧,估计微信的 ...
- 【微信公众号开发】【13】批量导出公众号所有用户信息到Excel
前言: 1,一次拉取调用最多拉取10000个关注者的OpenID,当公众号关注者数量超过10000时,可通过填写next_openid的值,从而多次拉取列表的方式来满足需求 2,获取OpenID列表后 ...
- 微信公众号开发之如何一键导出微信所有用户信息到Excel
微信开发交流群:148540125 系列文章参考地址 极速开发微信公众号欢迎留言.转发.打赏 项目源码参考地址 点我点我--欢迎Start 极速开发微信公众号系列文章之如何一键导出微信所有用户信息到E ...
- ASP.NET SingalR + MongoDB 实现简单聊天室(二):实现用户信息、聊天室初始化,聊天信息展示完善
第一篇已经介绍了一大半了,下面就是详细业务了,其实业务部分要注意的地方有几个,剩下的就是js跟html互动处理. 首先在强调一下,页面上不可缺少的js:jquery,singalR.js,hubs . ...
- Gitlab用户信息批量导出
前言 因运维体系中涉及到用户权限管理及统计,需将Gitlab用户数据提取出来并录入到公司内部自建的权限统计平台. 本文将对Gitlab的用户信息数据批量导出进行操作说明! 思路 A)要对数据进行批量的 ...
- SpringBoot中获取微信用户信息从未如此简单!
前言 不知道你是否参加过拼多多上邀请微信好友砍价功能,这个功能实现首先需要考虑的就是获取微信用户的信息.获取用户信息就是获取公众号下微信用户的信息,今天我就来讲讲如何从公众号下获取微信用户信息. 需要 ...
随机推荐
- Zlib:error can't decompress data; zlib not available
查看:yum list |grep zlib* 看到的是全部都安装好的: 版本为1.2.3,现在要升级为1.2.11 卸载 [root@biluos1 zlib-1.2.11]# rpm –nodep ...
- FZU 2285 迷宫寻宝
思路: bfs求最短路径. #include<stdio.h> #include<iostream> #include<queue> #include<cst ...
- ruby配合gem使用sass
Ruby环境安装 1.Ruby安装包下载地址:http://rubyinstaller.org/downloads/下载对应系统版本的安装包: 2.双击rubyinstaller-2.2.3-x64. ...
- 2017-11-4—稳态和暂态/瞬态(对运放积分电路的思考)[待仿真]
先直接截图了,暂态或者说瞬态都是暂时的状态,是从一个稳定态到另一个稳定态的过程. 之所以要了解这个概念是因为对于使用运放搭建的模拟PID有很多的疑惑,比如负反馈没有电阻满不满足"虚短&quo ...
- 02-Python入门学习-变量
一.编程语言介绍1.机器语言:直接用二进制编程,直接控制硬件,需要掌握硬件的操作细节优点:执行效率高缺点:开发效率低 2.汇编语言:用英文标签取代二进制指令去编写程序,直接控制硬件,需要掌握硬件的操作 ...
- PYQT窗口可视化编程
1.用PYQT的Qt设计师设计完程序UI后,将其转换为UI.py脚本. 转换步骤见帖:http://www.cnblogs.com/doudongchun/p/3694765.html 2.在同目录下 ...
- python学习:条件语句if、else
条件语句: 1.if...else...; 2.if...elif...esle 举例: 1.if...else... “age_of_princal = 56 guess_age = int(i ...
- python文档测试
def average(values): """ compute average value >>> print(average([20, 30, 10 ...
- debian包的补丁管理工具:quilt
最近项目是改pam软件包,给里面添加一些功能.其中遇到了更改后,代码提交方式的问题.这里转载的文章介绍了使用quilt管理补丁的详细方法: 转自:http://blog.csdn.net/fmddlm ...
- gvim 技巧
1.对齐 很多时候想对齐括号和“=”号,行数很多的时候就是体力活了.使用3条命令就可以完成对齐 :set ts=16 ##将tab设置为16 :%s/(/\t(/ ...