NPOI

NPOI

NPOI是指構建在POI 3.x版本之上的一個程式,NPOI可以在沒有安裝Office的情況下對Word或Excel文檔進行讀寫操作。

NPOI是一個開源的C#讀寫Excel、WORD等微軟OLE2組件文檔的項目。

基本介紹

  • 中文名:NPOI
  • 優勢:傳統操作Excel遇到的問題
  • 構成:讀寫OLE2文檔
  • 基於:LittleEndian的位元組讀寫
  • 歷史版本:NPOI 2.1.1      2014/01/07
簡介,優勢,構成,項目近況:,歷史版本:,開發團隊,系統要求,許可,

簡介

使用 NPOI 你就可以在沒有安裝 Office 或者相應環境的機器上對 WORD/EXCEL 文檔進行讀寫。

優勢

(一)傳統操作Excel遇到的問題:
1、如果是.NET,需要在伺服器端裝Office,且及時更新它,以防漏洞,還需要設定許可權允許.NET訪問COM+,如果在導出過程中出問題可能導致伺服器宕機。
2、Excel會把只包含數字的列進行類型轉換,本來是文本型的,Excel會將其轉成數值型的,比如編號000123會變成123。
3、導出時,如果欄位內容以“-”或“=”開頭,Excel會把它當成公式進行,會報錯。
4、Excel會根據Excel檔案前8行分析數據類型,如果正好你前8行某一列只是數字,那它會認為該列為數值型,自動將該列轉變成類似1.42702E+17格式,日期列變成包含日期和數字的。
(二)使用NPOI的優勢
1、您可以完全免費使用該框架
2、包含了大部分EXCEL的特性(單元格樣式、數據格式、公式等等)
3、專業的技術支持服務(24*7全天候) (非免費)
4、支持處理的檔案格式包括xls, xlsx, docx.
5、採用面向接口的設計架構( 可以查看 NPOI.SS 的命名空間)
6、同時支持檔案的導入和導出
7、基於.net 2.0 也支持xlsx 和 docx格式(當然也支持.net 4.0)
8、來自全世界大量成功且真實的測試Cases
9、大量的實例代碼
11、你不需要在伺服器上安裝微軟的Office,可以避免著作權問題。
12、使用起來比Office PIAAPI更加方便,更人性化。
13、你不用去花大力氣維護NPOINPOI Team會不斷更新、改善NPOI,絕對省成本。
14、不僅僅對與Excel可以進行操作,對於doc、ppt檔案也可以做對應的操作
NPOI之所以強大,並不是因為它支持導出Excel,而是因為它支持導入Excel,並能“理解”OLE2文檔結構,這也是其他一些Excel讀寫庫比較弱的方面。通常,讀入並理解結構遠比導出來得複雜,因為導入你必須假設一切情況都是可能的,而生成你只要保證滿足你自己需求就可以了,如果把導入需求和生成需求比做兩個集合,那么生成需求通常都是導入需求的子集,這一規律不僅體現在Excel讀寫庫中,也體現在pdf讀寫庫中,目前市面上大部分的pdf庫僅支持生成,不支持導入。

構成

NPOI 1.2.x主要由POIFS、DDF、HPSF、HSSF、SS、Util六部分組成。
NPOI.POIFS
OLE2/ActiveX文檔屬性讀寫庫
NPOI.DDF
Microsoft Office Drawing讀寫庫
NPOI.HPSF
OLE2/ActiveX文檔讀寫庫
NPOI.HSSF
Microsoft Excel BIFF(Excel 97-2003)格式讀寫庫
NPOI.SS
Excel公用接口及Excel公式計算引擎
NPOI.Util
基礎類庫,提供了很多實用功能,可用於其他讀寫檔案格式項目的開發
表1 NPOI組成部分
NPOI 1.x的最新版為NPOI 1.2.5,其中包括了以下功能:
1、讀寫OLE2文檔
2、讀寫DocummentSummaryInformationSummaryInformation
3、基於LittleEndian的位元組讀寫
4、讀寫Excel BIFF格式
5、識別並讀寫Excel BIFF中的常見Record,如RowRecord, StyleRecord, ExtendedFormatRecord
6、支持設定單元格的高、寬、樣式等
7、支持調用部分Excel內建函式,比如說sum, countif以及計算符號
8、支持在生成的XLS內嵌入列印設定,比如說橫向/縱向列印、縮放、使用的紙張等。
NPOI 2.0主要由SS, HPSF, DDF, HSSF, XWPF, XSSF, OpenXml4Net, OpenXmlFormats組成,具體列表如下:
Assembly名稱
模組/命名空間
說明
NPOI.DLL
NPOI.POIFS
OLE2/ActiveX文檔屬性讀寫庫
NPOI.DLL
NPOI.DDF
微軟Office Drawing讀寫庫
NPOI.DLL
NPOI.HPSF
OLE2/ActiveX文檔讀寫庫
NPOI.DLL
NPOI.HSSF
微軟Excel BIFF(Excel 97-2003, doc)格式讀寫庫
NPOI.DLL
NPOI.SS
Excel公用接口及Excel公式計算引擎
NPOI.DLL
NPOI.Util
基礎類庫,提供了很多實用功能,可用於其他讀寫檔案格式項目的開發
NPOI.OOXML.DLL
NPOI.XSSF
Excel 2007(xlsx)格式讀寫庫
NPOI.OOXML.DLL
NPOI.XWPF
Word 2007(docx)格式讀寫庫
NPOI.OpenXml4Net.DLL
NPOI.OpenXml4Net
OpenXml底層zip包讀寫庫
NPOI.OpenXmlFormats.DLL
NPOI.OpenXmlFormats
微軟Office OpenXml對象關係庫

項目近況:

在2013年10月8日,NPOI 2.0 beta 1發布,並已經支持Excel 2007和Word 2007。
系統要求:
VS2012/VS2010,基於.NET 4.0或者.NET 2.0
VS2005/VS2008,基於.NET 2.0 (SP1)
VS2003,基於.NET 1.1 (僅更新到1.2.1版本,之後不再支持.NET 1.1)
medium trust environment in ASP.NET
NPOI作為國人開發的開源項目,文檔完善,更新及時,為.NET開發者提供了便利,主要用於生成Excel報表,搜尋引擎模組中Excel中的文本提取,批量生成Excel檔案,基於Excel檔案模板生成新的Excel等多方面。

歷史版本:

NPOI 2.1.1 2014/01/07
NPOI 2.0 RC 2014/01/05
NPOI 2.0 beta 2 2013/12/01
NPOI 1.2.5 2012/05/04
NPOI 1.2.4 2011/11/02
NPOI 1.2.3 2010/11/12
NPOI 1.2.2 2009/12/05
NPOI 1.2.1 2009/09/18
NPOI 1.2 2009/04/12
NPOI 1.1 2009/01/18
NPOI 1.0 2008/10/26

開發團隊

Tony Qu(中國)
加入時間:2008年9月8日
huseyin
加入時間:2008年10月17日
atao.Xiang (中國)
加入時間:2009年10月12日

系統要求

VS2010 with .NET 4.0 runtime
VS2005 or VS2008 with .NET 2.0 Runtime (SP1)
vs2003 with .NET 1.1
Mono
medium trust environment in ASP.NET

許可

NPOI遵循Apache License 2.0許可。

相關詞條

熱門詞條

聯絡我們