什麼是 NPOI?
NPOI 是 Java 庫 POI 的 .NET 移植版。POI 可在無 Office 環境下讀寫 Office 97-2003 格式。NPOI 建構於 POI 3.x,目前穩定版僅支援 Excel (.xls),Word/PPT/Visio 尚在開發中。官網:npoi.codeplex.com。
為何選擇 NPOI?
- 無需伺服器安裝 Office,避免授權問題。
- API 比 Office PIA 更直觀、人性化。
- 社群持續維護更新,降低維護成本。
- 支援 HTML/CSV 做不到的功能:公式計算、儲存格進階樣式(旋轉、對齊、寬度),公式計算可分擔伺服器壓力。
- 相容性佳:客戶端無需 Office 2007/Compatibility Pack 即可開啟 .xls。
NPOI 組件架構
NPOI.POIFS:OLE2 文件系統
NPOI.DDF:Office 繪圖格式
NPOI.HPSF:屬性集(摘要資訊)
NPOI.HSSF:Excel BIFF 格式核心
NPOI.SS:公式計算引擎
NPOI.Util:基礎工具類
1.2 版主要功能
- 讀寫 OLE2 文件、DocumentSummaryInformation/SummaryInformation
- LittleEndian 位元組讀寫
- 完整支援 Excel BIFF 格式、常見 Record(RowRecord、StyleRecord、ExtendedFormatRecord)
- 儲存格高寬樣式設定、內建函數調用、列印設定內嵌
下載:Release 頁面
適用場景
- 產出 Excel 報表
- Excel 文字擷取(搜尋引擎索引)
- 批量產生 Excel、基於樣板生成
- 研究 BIFF/OLE2 結構
未來目標與招募
目標:支援 Word/PPT/Excel/Visio 完整格式、作為教學教材。歡迎加入 NPOI Team 共同開發 HWPF (Word)、HSLF (PPT)、文檔撰寫、範例擴充(目標 >50 個)。聯繫方式見部落格側欄。