分享一個導出數據到 Excel 的類庫


起源:

之前在做一個項目時,客戶提出了許多的導出數據的需求:

  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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM