概要
Microsoft OLE2複合ドキュメントを
Javaで取り扱うためのライブラリPOIを.NET Frameworkへ移植したもので、Apache Software Foundationのトップレベルプロジェクト。POIは,Poor Obfuscation Implementation(貧弱で混乱した実装)の略で,OLE2複合ドキュメント形式の仕様の貧弱さからこの名前が付けられたとされています.POIは,プロジェクトの総称であり,POIFS, HSSF,HDF,HPSFなどのプロダクトを開発しています.これらのプロダクトの一覧は以下の通り。
プロダクト |
概要 |
POIFS(POI FileSystem) |
OLE2複合ドキュメントを扱うためのライブラリ。 OLE2形式(xls, docなど)のファイル生成と読み込みに必要。 |
HDF(Horrible Document Format) |
Word97形式(doc)のファイルを扱うためのライブラリ |
HSSF(Horrible SpreadSheet Format) |
Excel97形式(xls)のファイルを扱うためのライブラリ |
HPSF(Horrible Property Set Format) |
OLE2プロパティを扱うためのライブラリ |
XSSF |
拡張子xlsxのExcelファイルの読み込み、生成に必要。NPOIは未対応。 |
- 参考1
- 参考2(POIのOpenXML(OOXML形式)対応について)
Usermodel APIとEventmodel API(HSSFとXSSF)
POIには用途に応じて2つのAPIが用意されている。それぞれの特徴は以下の通り。
Model |
特徴 |
Eventmodel API |
Excelファイルの読み込み専用API。メモリ消費量が少なく済むモード。SAXに近い? |
Usermodel API |
Excelファイルの読み込み・生成に利用する。使い勝手はシンプル。DOMに近い? |
HSSFの提供クラス(Usermodel API)
Excelを構成するパーツごとにクラスやインターフェースが用意されている。
構成パーツ |
HSSFクラス名 |
ワークブック |
NPOI.HSSF.UserModel.HSSFWorkbook |
ワークシート |
NPOI.HSSF.UserModel.HSSFSheet |
行 |
NPOI.HSSF.UserModel.HSSFRow |
セル |
NPOI.HSSF.UserModel.HSSFCell |
書式設定 |
NPOI.HSSF.UserModel.HSSFCellStyle |
フォント |
NPOI.HSSF.UserModel.HSSFFont |
最終更新:2011年04月28日 11:28