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 | 25. November 2023 |
5.2.4 | 29. September 2023 |
5.2.3 | 16. September 2022 |
5.2.2 | 19. March 2022 |
5.2.1 | 03. March 2022 |
5.2.0 | 14. January 2022 |
5.1.0 | 01. November 2021 |
5.0.0 | 20. January 2021 |
4.1.2 | 14. February 2020 |
4.1.1 | 20. October 2019 |
4.1.0 | 09. April 2019 |
4.0.0 | 07. September 2018 |
3.17 | 15. September 2017 |
3.16 | 19. April 2017 |
3.15 | 21. September 2016 |
3.14 | 2. March 2016 |
3.13 | 29. September 2015 |
3.12 | 11. May 2015 |
3.11 | 21. December 2014 |
3.10.1 | 18. August 2014 |
3.10 | 8. February 2014 |
3.9 | 3. December 2012 |
3.8 | 26. March 2012 |
3.7 | 29. October 2010 |
3.6 | 14. December 2009 |
3.5 | 28. September 2009 |
3.2 | 19. October 2008 |
3.1 | 29. June 2008 |
3.0.2 | 4. February 2008 |
3.0.1 | 5. July 2007 |
3.0 | 18. May 2007 |
2.5.1 | 29. February 2004 |
2.5 | 29. February 2004 |
2.0 | 26. January 2004 |
1.5.1 | 16. June 2002 |
1.5 | 6. May 2002 |
1.2.0 | 19. January 2002 |
1.1.0 | 4. January 2002 |
1.0.2 | 11. January 2002 |
1.0.1 | 4. January 2002 |
1.0.0 | 30. December 2001 |
See also
- Open Packaging Conventions
- Office Open XML software
References
- ^ "History of Changes". Retrieved 2022-09-19.
- ^ JavaWorld, retrieved 2020-07-21
- ^ POI homepage from October 2004, Coyote Song, archived from the original on 2004-10-15, 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 2019-03-07.
- ^ "POI-HPBF - Java API To Access Microsoft Publisher Format Files". Poi.apache.org. Retrieved 2019-03-07.
- ^ Codeplex NPOI, Microsoft, archived from the original on 2012-03-28
- ^ POI-HSMF, Apache, archived from the original on 2011-08-07, retrieved 2011-07-31
- ^ POI-HSSF, Apache
- ^ POI-HWPF, Apache
- ^ POI-HSLF, Apache
- ^ POI-Ruby, Apache
- ^ "HadoopOffice for Hive/Flink/Spark". Github.com. 2018-07-19. Retrieved 2019-03-07.
- ^ "Spark Excel". Github.com. Retrieved 2019-03-07.