Apache POI
WordやExcelといったMicrosoft Office形式のファイルを読み書きできる100% Javaライブラリ
Apache POI(アパッチ・ポイまたはピーオーアイ)はApacheソフトウェア財団のプロジェクトで、WordやExcelといったMicrosoft Office形式のファイルを読み書きできる100% Javaライブラリとして提供されている。
開発元 | Apacheソフトウェア財団 |
---|---|
最新版 |
5.2.4
/ 2023年9月28日[1] |
リポジトリ | |
プログラミング 言語 | Java |
対応OS | クロスプラットフォーム |
種別 | API |
ライセンス | Apache License 2.0 |
公式サイト | https://poi.apache.org/ |
名称の由来
編集POIという名称は、Microsoft Officeのファイル形式をリバースエンジニアリングした際、その形式が意図的に、しかも中途半端に分かりにくくされていたため、皮肉を込めて "Poor Obfuscation Implementation" (質の悪い難読な実装) と呼んだものの頭字語に端を発している。このようにユーモラスな正式名称を当てはめる方法はかつていろいろなサブプロジェクトに見られたが、ユーモアを不適切と捉えるビジネス界への進出を意識し、公式ウェブページからは削除されている。もうひとつの由来は、ハワイの珍味Poiから来た。ハワイ人がこれを食べ続けると巨人になるとも言われている。
Office Open XMLのサポート
編集バージョン3.5からISO/IEC 29500 Office Open XML形式のファイルに対応している。 OOXMLへの対応は、Sourcesenseが貢献している[2]。 Sourcesenseは、前記の貢献をするためのマイクロソフトから委託を受けたオープンソース企業である[3]。 この関係は論争を促し、一部のPOI参加者は、マイクロソフトのOpen Specification Promiseに関するPOI OOXMLの特許保護を問う者もいる。
サブコンポーネント
編集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形式のファイルを扱う。Word 2007で採用されたOOXML形式のファイルを読み書きできる。
- HSLF (Horrible Slide Layout Format) - Microsoft PowerPoint (PPT) 形式のファイルを扱う。PowerPoint 97以降のファイルを読み書きできる。
- XSLF (XML Slide Layout Format) - Office Open XML Presentation形式のファイルを扱う。PowerPoint 2007で採用されたOOXML形式のファイルを読み書きできる。
- HPSF (Horrible Property Set Format) - Microsoft Officeのドキュメントサマリーを読むコンポーネント。ドキュメントサマリーとは、主にOfficeアプリケーションのメニューバーから「ファイル」→「プロパティ」で見られる情報のこと。
- HDGF (Horrible DiaGram Format) - Microsoft Visio形式のファイルを扱う。現在は読み取りのみ可能。
- HPBF (Horrible PuBlisher Format) - Microsoft Publisher形式のファイルを扱う。現在は開発初期段階にあって、ファイル内の一部の読み取りに限られている。
- HSMF (Horrible Stupid Mail Format) - Microsoft Outlook (MSG) 形式のファイルを扱う。現在はファイルの読み取りのみ可能。
POIライブラリは、Rubyの拡張としても提供されている。
サブプロジェクト
編集- XMLBeans
- JavaとXMLデータバインディングとの変換を行うフレームワーク。。
脚注
編集- ^ “History of Changes - Apache POI”. 2023年11月20日閲覧。
- ^ SourceSense
- ^ “Microsoft Eyes Open Source Components for Office 2007”. Information Week (26 March 2008). 1 March 2009閲覧。
関連項目
編集外部リンク
編集- 公式ウェブサイト
- Apache POI (日本語) - ウェイバックマシン(2012年1月29日アーカイブ分)