起源:

之前在做一个项目时,客户提出了许多的导出数据的需求:

  1.   导出用户信息
  2.   导出业务实体信息
  3.   各种查询都要能导出
  4.   导出的数据要和界面上看到的一致
  5.   可以分页导出
  6.   。。。

为了应对用户的这些需求,我决定先写一个能够满足这些需求的导出功能封装库,于是就有了这个类库。

选材:

导出 Excel 完全靠自己写是不太实际的,因此需要使用一些现成的东西,目前导出 Excel 大约有一下方法:

  1. 使用 COM 组件
  2. 使用 OpenXMLSDK
  3. 使用 NPOI

使用 COM 组件,效率较低

使用 OpenXmlSDK,目前智能生成 Office 2007 格式,还不够通用

NPOI 是一个开源库,从 java 的 POI 中移植而来,支持 Office 2003 以前的格式,也具有较高的性能。

因此,我决定对 NPOI 进行一个封装,于是就有了这个类库。下面介绍一下这个类库。

类库介绍

  本类库通过对数据源的抽象,提取了一个接口,来支持多种数据源,并且提供了一些常见的实现。

  随类库提供了一个演示程序,演示了本类库支持的主要特性。

  类库封装了 NPOI,为了支持分页,使用了 SharpZipLib 来打包文件,这两个都是开源的类库,本类库的项目中已经包含这两个类库编译好的版本,如果需要他们的源代码,可以自行到相应的官方下载地址下载。

  打开解决方案文件 Baiynui.Exports\Baiynui.Exports\Baiynui.Exports.sln,就可以打开本类库的源代码工程和演示工程。

适用场景

  1.   本类库是为解决批量数据导出的问题而设计的,对批量数据的导出提供回调过滤的操作,可以方便的控制导出的数据。
  2.   导出需要一个数据源,数据源是一个接口,可以自行实现。本类库中自带一些实现,可以导出 DataTable,DataSet,DataGridView 等
  3.   支持分页

不适用场景

  本类库对需要格式定制的 Excel 没有考虑,不能满足此种需求

最后强调,打开解决方案文件 Baiynui.Exports\Baiynui.Exports\Baiynui.Exports.sln,就可以打开本类库的源代码工程和演示工程,祝你使用愉快,如果在使用的过程中遇到任何问题,都可以联系我。

类库下载地址:http://files.cnblogs.com/baiynui/Baiynui.Exports.rar

应一位朋友的要求,给他写了一个在 ASP.NET 中导出的示例,大家可以参考。http://files.cnblogs.com/baiynui/exportxls.rar

分享一个导出数据到 Excel 的类库的更多相关文章

  1. 一个方便且通用的导出数据到 Excel 的类库

    一个方便且通用的导出数据到 Excel 的类库 起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分 ...

  2. python 导出数据到excel 中,一个好用的导出数据到excel模块,XlsxWriter

    最近公司有项目需要导出数据到excel,首先想到了,tablib,xlwt,xlrd,xlwings,win32com[还可以操作word],openpyxl,等模块但是 实际操作中tablib 写入 ...

  3. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

  4. 导出数据到Excel --使用ExcelReport有感

    先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...

  5. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

  6. 利用PHPExcel读取Excel的数据和导出数据到Excel

    PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...

  7. 导出数据到Excel方法总结

    一,问题的提出 近来在网上经常有人问怎样把数据导出到Excel中?针对这个问题网上也有很多资料.大都比较的琐碎.本人当前从事的项目中,刚好涉及到这些内容.就顺便做了一些归纳整理.共享给大家.避免大家再 ...

  8. phpexcel如何读取excel的数据和如何导出数据到excel

    phpexcel如何读取excel的数据和如何导出数据到excel 一.总结 一句话总结:去官网看参考手册和api,或者找中文的博客或者参考手册 1.phpexcel插件如何下载? 其实这些插件不仅可 ...

  9. Dynamics CRM导出数据到Excel

    原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...

随机推荐

  1. D题 - A+B for Input-Output Practice (III)

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description Your ...

  2. Josephus2

    约瑟夫问题升级问题 编号为1~N的N个人按顺时针方向围坐一圈,每个人持有一个密码(正整数,可以自由输入),开始人选一个正整数作为报数上限值M,从第一个人按顺时针方向自1开始顺序报数,报道M是停止报数. ...

  3. xcode 工具 alcatraz---备用

    简介 Alcatraz 是一个帮你管理 Xcode 插件.模版以及颜色配置的工具.它可以直接集成到 Xcode 的图形界面中,让你感觉就像在使用 Xcode 自带的功能一样. 安装和删除 使用如下的命 ...

  4. jQuery.dialog

    本篇文章主要是对JQUERY中dialog的用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 今天用到了客户端的对话框,把 jQuery UI 中的对话框学习了一下. 准备 jQ ...

  5. SOC

    http://marsvaadin.iteye.com/blog/1311438 http://blog.csdn.net/cxxsoft/article/details/12610641

  6. 又是干货,这个春节感觉吃饱了。各方面---RHCS集群理论

    什么是集群?    集群是一组(>2)相互独立的,通过高速网络互联的计算机组成的集合.群集一般可以分为科学集群,负载均衡集群,高可用性集群三大类.    科学集群是并行计算的基础.它对外就好象一 ...

  7. AOP小结

    AOP主要采用代理模式来实现的,静态代理(设计模式中的代理模式),动态代理(反射机制,实现InvocationHandler接口),cglib实现(采用继承方式,针对目标类生成子类,并覆盖方法进行增强 ...

  8. ArrayList LinkedList Vector

    ArrayList是基于数组实现的,没有容量的限制. 在删除元素的时候,并不会减少数组的容量大小,可以调用ArrayList的trimeToSize()来缩小数组的容量. ArrayList, Lin ...

  9. 本地yum源

    <pre name="code" class="html">1.为DVD创建一个挂载目录 [root@localhost ~]# mkdir /me ...

  10. bootchart--检测linux启动性能的软件

    bootchart--检测linux启动性能的软件 摘自http://www-128.ibm.com/developerworks/library/l-boot-faster/index.html?c ...