Punto de interés de Apache
Apache POI, un proyecto dirigido por Apache Software Foundation y anteriormente un subproyecto del Proyecto Jakarta, proporciona bibliotecas Java puras para leer y escribir archivos en formatos de Microsoft Office, como Word., PowerPoint y Excel.
Historia y hoja de ruta
El nombre originalmente era un acrónimo de "Pobre implementación de ofuscación", que se refería con humor al hecho de que los formatos de archivo parecían estar ofuscados deliberadamente, pero de manera deficiente, ya que se les realizó ingeniería inversa con éxito. Esta explicación, y las de los nombres similares para los diversos subproyectos, se eliminaron de las páginas web oficiales para comercializar mejor las herramientas a las empresas que no considerarían apropiado tal humor. Los autores originales (Andrew C. Oliver y Marc Johnson) también señalaron la existencia del plato poi hawaiano, hecho con puré de raíz de taro, que tenía connotaciones igualmente despectivas.
Compatibilidad con Office Open XML
POI es compatible con los formatos de archivo Office Open XML ISO/IEC 29500:2008 desde la versión 3.5. Una contribución significativa para el soporte de OOXML provino de Sourcesense, una empresa de código abierto a la que Microsoft le encargó desarrollar esta contribución. Este enlace generó controversia, algunos contribuyentes de POI cuestionaron la protección de patentes de POI OOXML con respecto a la licencia de patente Open Specification Promise de Microsoft.
Arquitectura
El proyecto Apache POI contiene los siguientes subcomponentes (el significado de los acrónimos se toma de la documentación anterior):
- POIFS (Poor Obfuscation Implementation File System) – Este componente lee y escribe el formato de documento OLE 2 Compound de Microsoft. Como todos los archivos de Microsoft Office son archivos OLE 2, este componente es el bloque básico de construcción de todos los otros elementos POI. POIFS puede ser utilizado para leer una variedad más amplia de archivos, más allá de aquellos cuyos decodificadores explícitos ya están escritos en POI.
- HSSF (Horrible SpreadSheet Format) – lee y escribe archivos de formato Microsoft Excel (XLS). Puede leer archivos escritos por Excel 97 en adelante; este formato de archivo se conoce como el BIFF 8 formato. Como el formato de archivo Excel es complejo y contiene una serie de características difíciles, algunas de las características más avanzadas no se pueden leer.
- XSSF (XML SpreadSheet Format) – lee y escribe archivos de formato Office Open XML (XLSX). Conjunto de características similares a HSSF, pero para archivos XML de Office Open.
- HPSF (Horrible Property Set Format) – lee la información "Document Summary" de archivos de Microsoft Office. Esta es esencialmente la información que se puede ver utilizando Fichero: menu item in an Office application.
- HWPF (Horrible Word Processor Format) – pretende leer y escribir archivos de formato Microsoft Word 97 (DOC). Este componente se encuentra en etapas iniciales de desarrollo.
- XWPF (XML Word Processor Format) - conjunto de funciones similares a HWPF, pero para archivos XML de Office Open.
- HSLF (Horrible Slide Layout Format) – una aplicación Java pura para archivos de Microsoft PowerPoint. Esto proporciona la capacidad de leer, crear y editar presentaciones (aunque algunas cosas son más fáciles de hacer que otras)
- HDGF (Horrible DiaGram Format) – una aplicación Java pura inicial para archivos binarios de Microsoft Visio. Proporciona la capacidad de leer el contenido de bajo nivel de los archivos.
- HPBF (Horrible PuBlisher Format) – una implementación Java pura para archivos de Microsoft Publisher.
- HSMF (Horrible Stupid Mail Format) – una aplicación Java pura para archivos Microsoft Outlook MSG.
- DDF (Dareadful Drawing Format) – un paquete para decodificar el formato de Dibujo de Microsoft Office.
El componente HSSF es la función más avanzada de la biblioteca. Otros componentes (HPSF, HWPF y HSLF) se pueden usar, pero tienen menos funciones.
La biblioteca de puntos de interés también se proporciona como una extensión de Ruby o ColdFusion.
Existen módulos para plataformas de Big Data (por ejemplo, Apache Hive/Apache Flink/Apache Spark), que brindan ciertas funciones de Apache POI, como el procesamiento de archivos de Excel.
Historial de versiones
Leyenda: | Versión antigua, no mantenida | Versión más antigua, todavía mantenida | Versión estable actual | Liberación del futuro |
---|
Número de versión | Fecha de publicación |
---|---|
5.2.3 | 16. Septiembre 2022 |
5.2.2 | 19. Marzo 2022 |
5.2.1 | 03. Marzo 2022 |
5.2.0 | 14. Enero 2022 |
5.1.0 | 01. Noviembre 2021 |
5.0.0 | 20. Enero 2021 |
4.1.2 | 14. Febrero 2020 |
4.1.1 | 20. octubre 2019 |
4.1.0 | 09. Abril 2019 |
4.0.0 | 07 de septiembre de 2018 |
3.17 | 15. Septiembre de 2017 |
3.16 | 19. abril de 2017 |
3.15 | 21. Septiembre 2016 |
3.14 | 2. Marzo 2016 |
3.13 | 29. Septiembre de 2015 |
3.12 | 11. Mayo de 2015 |
3.11 | 21. Diciembre de 2014 |
3.10.1 | 18. agosto de 2014 |
3.10 | 8. febrero de 2014 |
3.9 | 3. diciembre de 2012 |
3.8 | 26. March 2012 |
3.7 | 29. octubre de 2010 |
3.6 | 14. Diciembre de 2009 |
3.5 | 28. Septiembre de 2009 |
3.2 | 19. octubre de 2008 |
3.1 | 29. Junio de 2008 |
3.0.2 | 4. Febrero de 2008 |
3.0.1 | 5. Julio de 2007 |
3.0 | 18. Mayo de 2007 |
2.5.1 | 29. Febrero de 2004 |
2.5 | 29. Febrero de 2004 |
2.0 | 26. Enero de 2004 |
1.5.1 | 16. junio de 2002 |
1,5 | 6. Mayo de 2002 |
1.2.0 | 19. Enero de 2002 |
1.1.0 | 4. enero de 2002 |
1.0.2 | 11. Enero de 2002 |
1.0.1 | 4. enero de 2002 |
1.0.0 | 30. Diciembre de 2001 |
Contenido relacionado
LimaAlambre
Teleférico (ferrocarril)
Audio