Apache POI
Apache Software Foundation | |
Stable release | 5.2.5
/ November 25, 2023[1] |
---|---|
Apache License 2.0 | |
Website | poi |
Apache POI, a project run by the
Java libraries for reading and writing files in Microsoft Office formats, such as Word, PowerPoint and Excel
.
History and roadmap
The name was originally an
taro root, which had similarly derogatory connotations.[3]
Office Open XML support
POI supports the ISO/IEC 29500:2008
Open Specification Promise patent license.[6]
Architecture
The Apache POI project contains the following subcomponents (meaning of acronyms is taken from old documentation):
- POIFS (Poor Obfuscation Implementation File SystemOLE 2files, 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[2]) – reads and writes Microsoft Excel (XLS) format files. It can read files written by 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[2]) – 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 Office application.
- HWPF (Horrible Word Processor Format[7]) – aims to read and write Microsoft Word 97 (DOC) format files. This component is in initial stages of development.
- XWPF (XML Word Processor Format[7]) – similar feature set to HWPF, but for Office Open XML files.
- HSLF (Horrible Slide Layout Format[7]) – 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[7]) – 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]) – a pure Java implementation for Microsoft Publisher files.[8]
- HSMF (Horrible Stupid Mail Format
- DDF (Dreadful Drawing Format[7]) – 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.[11] Other components (HPSF, HWPF, and HSLF) are usable, but less full-featured.[12][13]
The POI library is also provided as a
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.[15][16]
Version history
Legend: | Old version, not maintained | Older version, still maintained | Current stable version | Future release |
---|
Version number |
Date of release |
---|---|
5.2.5 | November 25, 2023 |
5.2.4 | September 29, 2023 |
5.2.3 | September 16, 2022 |
5.2.2 | March 19, 2022 |
5.2.1 | March 3, 2022 |
5.2.0 | January 14, 2022 |
5.1.0 | November 1, 2021 |
5.0.0 | January 20, 2021 |
4.1.2 | February 14, 2020 |
4.1.1 | October 20, 2019 |
4.1.0 | April 9, 2019 |
4.0.0 | September 7, 2018 |
3.17 | September 15, 2017 |
3.16 | April 19, 2017 |
3.15 | September 21, 2016 |
3.14 | March 2, 2016 |
3.13 | September 29, 2015 |
3.12 | May 11, 2015 |
3.11 | December 21, 2014 |
3.10.1 | August 18, 2014 |
3.10 | February 8, 2014 |
3.9 | December 3, 2012 |
3.8 | March 26, 2012 |
3.7 | October 29, 2010 |
3.6 | December 14, 2009 |
3.5 | September 28, 2009 |
3.2 | October 19, 2008 |
3.1 | June 29, 2008 |
3.0.2 | February 4, 2008 |
3.0.1 | July 5, 2007 |
3.0 | May 18, 2007 |
2.5.1 | February 29, 2004 |
2.5 | February 29, 2004 |
2.0 | January 26, 2004 |
1.5.1 | June 16, 2002 |
1.5 | May 6, 2002 |
1.2.0 | January 19, 2002 |
1.1.0 | January 4, 2002 |
1.0.2 | January 11, 2002 |
1.0.1 | January 4, 2002 |
1.0.0 | December 30, 2001 |
See also
- Open Packaging Conventions
- Office Open XML software
References
- ^ "History of Changes". Retrieved September 19, 2022.
- ^ JavaWorld, retrieved 2020-07-21
- ^ POI homepage from October 2004, Coyote Song, archived from the original on October 15, 2004, showing original explanations for naming.
- ^ SourceSense
- ^ McDougall, Paul (26 March 2008). "Microsoft Eyes Open Source Components for Office 2007". InformationWeek. Retrieved 2020-07-21.
- ^ Oliver, Andrew C. (27 March 2008), "Rejection of any ENCUMBERED Microsoft Donation to POI", POI development mailing list archives, retrieved 2020-07-21
- ^ a b c d e "POI API Documentation". Poi.apache.org. Retrieved March 7, 2019.
- ^ "POI-HPBF - Java API To Access Microsoft Publisher Format Files". Poi.apache.org. Retrieved March 7, 2019.
- ^ Codeplex NPOI, Microsoft, archived from the original on March 28, 2012
- ^ POI-HSMF, Apache, archived from the original on August 7, 2011, retrieved July 31, 2011
- ^ POI-HSSF, Apache
- ^ POI-HWPF, Apache
- ^ POI-HSLF, Apache
- ^ POI-Ruby, Apache
- ^ "HadoopOffice for Hive/Flink/Spark". Github.com. July 19, 2018. Retrieved March 7, 2019.
- ^ "Spark Excel". Github.com. Retrieved March 7, 2019.