Apache POI
出典: フリー百科事典『ウィキペディア(Wikipedia)』
| Apache POI | |
|---|---|
| 開発元 | Apache Software Foundation |
| 最新版 | 3.2-FINAL / 2008年10月19日 |
| 最新評価版 | 3.5 Beta 5 / 2009年02月19日 |
| 対応OS | Cross-platform |
| プログラミング言語 | Java |
| 種別 | API |
| ライセンス | Apache License 2.0 |
| 公式サイト | http://poi.apache.org |
Apache POI(アパッチ・ポイまたはピーオーアイ)はApacheソフトウェア財団のプロジェクトで、WordやExcelといったMicrosoft Office形式のファイルを読み書きできる100%Javaライブラリとして提供されている。
目次 |
[編集] 名称の由来
POIという名称は、Microsoft Officeのファイル形式をリバースエンジニアリングした際、その形式が意図的に、しかも中途半端に分かりにくくされていたため、皮肉を込めて "Poor Obfuscation Implementation" (中途半端に曖昧な実装) と呼んだものの頭字語に端を発している。このようにユーモラスな正式名称を当てはめる方法はかつていろいろなサブプロジェクトに見られたが、ユーモアを不適切と捉えるビジネス界への進出を意識し、公式ウェブページからは削除されている。もうひとつの由来は、ハワイの珍味Poiから来た。ハワイ人がこれを食べ続けると巨人になるとも言われている。
Microsoft Officeの開発者であるチャールズ・シモニーはOfficeのファイル形式についてニューヨークタイムスのインタビューで「当初は極めてシンプルだった。日々積み重ねられていったバージョンアップによって複雑化した。多くの開発者が携わったために仕方のないことで、意図的に行ったわけではない」としている。またフォーブス誌に対して「ファイル形式を再構築することは可能だった。それをしなかったのはOfficeの競合製品に互換性を持たせないことで差別化を図りたかったからかもしれない。私がかかわったのは開発当初だけで、その後のことはわからない」とも発言している。
Microsoft Officeのファイル形式はたびたび社会問題として取り上げられ、2003年日本では総務省が他社製品との互換性をもたせられないなら使用しないとの判断を下した。結局Office 2007ではXMLとZIPによるファイル形式に刷新されることとなった。
[編集] サブコンポーネント
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形式として知られている。やや完成度が低く、取り扱いに注意を有することで有名。フィルターやビューを含むシートを開けない。
- HPSF (Horrible Property Set Format) - Microsoft Officeのドキュメントサマリーを読むコンポーネント。ドキュメントサマリーとは、主にOfficeアプリケーションの「ファイル」や「プロパティ」メニューから見られる情報のこと。
- HWPF (Horrible Word Processor Format) - Microsoft Word 97 (DOC) 形式のファイルを読み書きするコンポーネント。開発初期段階にある。
- HSLF (Horrible Slide Layout Format) - Microsoft PowerPointファイルの100%Javaの実装。プレゼンテーションを限定的に読み書きできる。現在は開発初期段階にある。
POIライブラリは、Rubyの拡張としても提供されている。

