Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Apache POI
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Architecture== The Apache POI project contains the following subcomponents (meaning of acronyms is taken from old documentation): * POIFS (Poor Obfuscation Implementation File System<ref name="javaworld2004"/>) β This component reads and writes [[Microsoft]]'s [[OLE 2]] [[COM Structured storage|Compound document]] format. Since all [[Microsoft Office]] files are [[OLE 2]] files, this component is the basic building block of all the other POI elements. POIFS can therefore be used to read a wider variety of files, beyond those whose explicit decoders are already written in POI. * HSSF (Horrible SpreadSheet Format<ref name="javaworld2004"/>) β reads and writes [[Microsoft Excel]] (XLS) format files. It can read files written by [[Microsoft Excel|Excel]] 97 onwards; this [[file format]] is known as the ''BIFF 8'' format. As the Excel file format is complex and contains a number of tricky characteristics, some of the more advanced features cannot be read. * XSSF (XML SpreadSheet Format) β reads and writes [[Office Open XML]] (XLSX) format files. Similar feature set to HSSF, but for Office Open XML files. * HPSF (Horrible Property Set Format<ref name="javaworld2004"/>) β reads "Document Summary" information from [[Microsoft Office]] files. This is essentially the information that one can see by using the ''File|Properties'' menu item within an [[Microsoft Office|Office]] application. * HWPF (Horrible Word Processor Format<ref name="apache1">{{cite web|url=https://poi.apache.org/apidocs/dev/ |title=POI API Documentation |publisher=Poi.apache.org |access-date=2019-03-07}}</ref>) β aims to read and write [[Microsoft Word|Microsoft Word 97]] (DOC) format files. This component is in initial stages of development. * XWPF (XML Word Processor Format<ref name="apache1"/>) β similar feature set to HWPF, but for Office Open XML files. * HSLF (Horrible Slide Layout Format<ref name="apache1"/>) β a pure Java implementation for [[Microsoft PowerPoint]] files. This provides the ability to read, create and edit presentations (though some things are easier to do than others) * XSLF (Open Office XML Slideshow Format) * HDGF (Horrible DiaGram Format<ref name="apache1"/>) β an initial pure Java implementation for [[Microsoft Visio]] binary files. It provides an ability to read the low level contents of the files. * HPBF (Horrible PuBlisher Format{{citation needed|date=March 2019}}) β a pure Java implementation for [[Microsoft Publisher]] files.<ref>{{cite web|url=https://poi.apache.org/components/hpbf/index.html |title=POI-HPBF - Java API To Access Microsoft Publisher Format Files |publisher=Poi.apache.org |access-date=2019-03-07}}</ref> * HSMF (Horrible Stupid Mail Format<ref>{{citation | url = http://npoi.codeplex.com/discussions/233518 | publisher = Microsoft | title = Codeplex NPOI|archive-url=https://web.archive.org/web/20120328092553/http://npoi.codeplex.com/discussions/233518|archive-date=2012-03-28}}</ref>{{Better source needed|date=January 2012|reason=[[WP:CIRCULAR]], as ref in source is this article}}) β a pure Java implementation for [[Microsoft Outlook]] MSG files.<ref> {{citation | title = POI-HSMF | publisher = Apache | url = http://poi.apache.org/hsmf/ | access-date = 2011-07-31 | archive-url = https://web.archive.org/web/20110807211225/http://poi.apache.org/hsmf/ | archive-date = 2011-08-07 | url-status = dead }} </ref> * DDF (Dreadful Drawing Format<ref name="apache1"/>) β a package for decoding the Microsoft Office Drawing format. * XDDF (XML Dreadful Drawing Format) The HSSF component is the most advanced feature of the library.<ref>{{citation | url = http://poi.apache.org/hssf/ | title = POI-HSSF | publisher = Apache}}</ref> Other components (HPSF, HWPF, and HSLF) are usable, but less full-featured.<ref>{{citation | url = http://poi.apache.org/hwpf/ | title = POI-HWPF | publisher = Apache}}</ref><ref>{{citation | url = http://poi.apache.org/hslf/ | title = POI-HSLF | publisher = Apache}}</ref> The POI library is also provided as a [[Ruby (programming language)|Ruby]]<ref>{{citation | title = POI-Ruby | publisher = Apache | url = http://poi.apache.org/poi-ruby.html}}</ref> or [[ColdFusion]] extension. There are modules for Big Data platforms (e.g. Apache Hive/Apache Flink/Apache Spark), which provide certain functionality of Apache POI, such as the processing of Excel files.<ref>{{cite web|url=https://github.com/ZuInnoTe/hadoopoffice/wiki |title=HadoopOffice for Hive/Flink/Spark |publisher=Github.com |date=2018-07-19 |access-date=2019-03-07}}</ref><ref>{{cite web|url=https://github.com/crealytics/spark-excel |title=Spark Excel |publisher=Github.com |access-date=2019-03-07}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)