一个方便且通用的导出数据到 Excel 的类库
一个方便且通用的导出数据到 Excel 的类库
起源:
之前在做一个项目时,客户提出了许多的导出数据的需求:
- 导出用户信息
- 导出业务实体信息
- 各种查询都要能导出
- 导出的数据要和界面上看到的一致
- 可以分页导出
- 。。。
为了应对用户的这些需求,我决定先写一个能够满足这些需求的导出功能封装库,于是就有了这个类库。
选材:
导出 Excel 完全靠自己写是不太实际的,因此需要使用一些现成的东西,目前导出 Excel 大约有一下方法:
- 使用 COM 组件
- 使用 OpenXMLSDK
- 使用 NPOI
使用 COM 组件,效率较低
使用 OpenXmlSDK,目前智能生成 Office 2007 格式,还不够通用
NPOI 是一个开源库,从 java 的 POI 中移植而来,支持 Office 2003 以前的格式,也具有较高的性能。
因此,我决定对 NPOI 进行一个封装,于是就有了这个类库。下面介绍一下这个类库。
类库介绍
本类库通过对数据源的抽象,提取了一个接口,来支持多种数据源,并且提供了一些常见的实现。
随类库提供了一个演示程序,演示了本类库支持的主要特性。
类库封装了 NPOI,为了支持分页,使用了 SharpZipLib 来打包文件,这两个都是开源的类库,本类库的项目中已经包含这两个类库编译好的版本,如果需要他们的源代码,可以自行到相应的官方下载地址下载。
打开解决方案文件 Baiynui.Exports\Baiynui.Exports\Baiynui.Exports.sln,就可以打开本类库的源代码工程和演示工程。
适用场景
- 本类库是为解决批量数据导出的问题而设计的,对批量数据的导出提供回调过滤的操作,可以方便的控制导出的数据。
- 导出需要一个数据源,数据源是一个接口,可以自行实现。本类库中自带一些实现,可以导出 DataTable,DataSet,DataGridView 等
- 支持分页
不适用场景
本类库对需要格式定制的 Excel 没有考虑,不能满足此种需求
最后强调,打开解决方案文件 Baiynui.Exports\Baiynui.Exports\Baiynui.Exports.sln,就可以打开本类库的源代码工程和演示工程,祝你使用愉快,如果在使用的过程中遇到任何问题,都可以联系我。
类库下载地址:http://files.cnblogs.com/baiynui1983/Baiynui.Exports.rar
一个方便且通用的导出数据到 Excel 的类库的更多相关文章
- 分享一个导出数据到 Excel 的类库
起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分页导出 ... 为了应对用户的这些需求,我决定先 ...
- C#导出数据到Excel通用的方法类
导出数据到Excel通用的方法类,请应对需求自行修改. 资源下载列表 using System.Data; using System.IO; namespace IM.Common.Tools { p ...
- python 导出数据到excel 中,一个好用的导出数据到excel模块,XlsxWriter
最近公司有项目需要导出数据到excel,首先想到了,tablib,xlwt,xlrd,xlwings,win32com[还可以操作word],openpyxl,等模块但是 实际操作中tablib 写入 ...
- MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult
导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...
- 1.ASP.NET MVC使用EPPlus,导出数据到Excel中
好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...
- 导出数据到Excel --使用ExcelReport有感
先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...
- Dynamics CRM导出数据到Excel
原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...
- ASP.NET导出数据到Excel 实例介绍
ASP.NET导出数据到Excel 该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建 ...
- 利用PHPExcel读取Excel的数据和导出数据到Excel
PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...
随机推荐
- Socket 学习(三).2 udp 穿透 服务端 与 客户端 通讯
之前演示的 是 局域网通讯,也可以用作服务器之间的通讯,不能穿透. 想要穿透就要用 udp 了, 后续再讲解 udp 打洞 . 客户端: using System; using System.Wind ...
- jquery.validate 验证(支持前台js验证通过,然后ajax后台数据校验)二
jquery.validate 为啥 源码 里面 规定 dataType: "json" 呢 因为 他配套的 是 messages 下面 的 remote 属性 验证失 ...
- HDU 4791 & ZOJ 3726 Alice's Print Service (数学 打表)
题目链接: HDU:http://acm.hdu.edu.cn/showproblem.php?pid=4791 ZJU:http://acm.zju.edu.cn/onlinejudge/showP ...
- OC第四课
主要内容:NSString.NSArray.NSNumber 一.苹果公司的帮助文档(API) 学会查看API对于后续的编程有很好的帮助 进入方法: Xcode ->Help -> Doc ...
- 兔子--gradle安装和配置
1.下载gradle,下载--all的这个 点击进入下载页 2.下载下来后,解压.配置环境变量. 编辑path , ....;G:\soft\gradle-2.2.1-all\gradle-2.2.1 ...
- 关于Java String对象创建的几点疑问
我们通过JDK源码会知道String实质是字符数组,而且是不可被继承(final)和具有不可变性(immutable).可以如果想要了解String的创建我们需要先了解下JVM的内存结构. 1.JVM ...
- Visual Studio 中的单元测试 UNIT TEST
原文:Visual Studio 中的单元测试 UNIT TEST 注:本文系作者原创,可随意转载,但请注明出处.如实在不愿注明可留空,强烈反对更改原创出处.TDD(Test-Driven Devel ...
- 图文解说PhpStorm 7.0版本新增内置工具
很多PHP开发者,都比较关心PhpStorm 7.0版本的内置工具.今天我们将测试内置的Vagrant工具和SSH远端控制台工具. Vagrant工具集成在PhpStorm 7.0版本中,提高了IDE ...
- HTML表单元素
HTML表单元素 表单元素同意的形式向用户(例:文本字段,下拉列表,单箱,检查盒等)输入元素信息 表单标签 文本域(Text Fields) 当用户要在表单中键入字母,数字等内容时,就会用到文本域 单 ...
- form-validation--表单验证插件
基于jquery的validationEngine表单验证插件,根据官网提示,该插件支持IE6-8,Chrome浏览器,火狐,Safari,Opera 10,但由于有使用到了css3的阴影和圆角样式, ...