Apache POI
POIという名称は、Microsoft Officeのファイル形式をリバースエンジニアリングした際、その形式が意図的に、しかも中途半端に分かりにくくされていたため、皮肉を込めて "Poor Obfuscation Implementation" (質の悪い難読な実装) と呼んだものの頭字語に端を発している。このようにユーモラスな正式名称を当てはめる方法はかつていろいろなサブプロジェクトに見られたが、ユーモアを不適切と捉えるビジネス界への進出を意識し、公式ウェブページからは削除されている。もうひとつの由来は、ハワイの珍味Poiから来た。ハワイ人がこれを食べ続けると巨人になるとも言われている。
Apache POIプロジェクトは、次のようなサブコンポーネントから成る。
POIFS (Poor Obfuscation Implementation File System) - Microsoft OLE 2複合ドキュメント形式を読み書きするコンポーネント。すべてのMicrosoft OfficeファイルはOLE 2ファイルであるため、POIFSは他のPOI構成要素の基礎となっている。そのためPOIFSは、明示的にPOIで書かれたモジュール以外にも、さまざまな種類のファイルを読むのに使われている。
HSSF (Horrible SpreadSheet Format) - Microsoft Excel (XLS) 形式のファイルを扱う。Excel 97以降のファイルを読み書きできる。このファイル形式は、BIFF 8形式として知られている。フィルターやビューを含むシートを開けない。
XSSF (XML SpreadSheet Format) - Office Open XML Workbook形式のファイルを扱う。Excel 2007で採用されたOOXML形式のファイルを読み書きできる。
HWPF (Horrible Word Processor Format) - Microsoft Word (DOC) 形式のファイルを扱う。Word 97以降のファイルを読み書きできる。Word 95以前の形式も限定的に読むことができる。
XWPF (XML Word Processor Format) - Office Open XML Document形式のファイルを扱う。