Apache POI

WordやExcelといったMicrosoft Office形式のファイルを読み書きできる100% Javaライブラリ

Apache POI(アパッチ・ポイまたはピーオーアイ)はApacheソフトウェア財団のプロジェクトで、WordExcelといったMicrosoft Office形式のファイルを読み書きできる100% Javaライブラリとして提供されている。

Apache POI
開発元 Apacheソフトウェア財団
最新版
5.2.4 / 2023年9月28日 (13か月前) (2023-09-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データバインディングとの変換を行うフレームワーク。。

脚注

編集
  1. ^ History of Changes - Apache POI”. 2023年11月20日閲覧。
  2. ^ SourceSense, http://www.sourcesense.com/ 
  3. ^ Microsoft Eyes Open Source Components for Office 2007”. Information Week (26 March 2008). 1 March 2009閲覧。

関連項目

編集

外部リンク

編集