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 .
Desarrollador (es) | Fundación de software Apache |
---|---|
Lanzamiento estable | 5.0.0 / 20 de enero de 2021 [1] |
Repositorio | Repositorio de puntos de interés |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tipo | API para acceder a formatos de Microsoft Office |
Licencia | Licencia Apache 2.0 |
Sitio web | poi |
Historia y hoja de ruta
El nombre era originalmente un acrónimo de "Implementación deficiente de ofuscación", [2] refiriéndose con humor al hecho de que los formatos de archivo parecían estar deliberadamente ofuscados , pero mal, ya que se realizaron con éxito la ingeniería inversa . Esta explicación, y las de nombres similares para los diversos subproyectos, se eliminaron de las páginas web oficiales con el fin de comercializar mejor las herramientas para las empresas que no considerarían apropiado ese humor. Los autores originales ( Andrew C. Oliver y Marc Johnson) también notaron la existencia del plato de poi hawaiano , hecho con puré de raíz de taro , que tenía connotaciones igualmente despectivas. [3]
Soporte de 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, [4] una empresa de código abierto a la que Microsoft encargó el desarrollo de esta contribución. [5] 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 . [6]
Arquitectura
El proyecto Apache POI contiene los siguientes subcomponentes (el significado de los acrónimos se tomó de la documentación anterior):
- POIFS (Pobre ofuscación Implementación de archivos del sistema [2] ) - Este componente lee y escribe Microsoft 's OLE 2 documento Compuesto formato. Dado que todos los archivos de Microsoft Office son archivos OLE 2 , este componente es el componente básico de todos los demás elementos de PDI. Por lo tanto, POIFS se puede utilizar 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 [2] ): lee y escribe archivos en formato Microsoft Excel (XLS). Puede leer archivos escritos por Excel 97 en adelante; este formato de archivo se conoce como formato BIFF 8 . Como el formato de archivo de Excel es complejo y contiene una serie de características complicadas, algunas de las características más avanzadas no se pueden leer.
- XSSF (formato de hoja de cálculo XML): lee y escribe archivos de formato Office Open XML (XLSX). Conjunto de características similares a HSSF, pero para archivos Office Open XML.
- HPSF (Formato de conjunto de propiedades horribles [2] ): lee la información del "Resumen del documento" de los archivos de Microsoft Office . Esta es esencialmente la información que se puede ver utilizando el elemento de menú Archivo | Propiedades dentro de una aplicación de Office .
- HWPF (Horrible Word Processor Format [7] ): tiene como objetivo leer y escribir archivos en formato Microsoft Word 97 (DOC). Este componente se encuentra en etapas iniciales de desarrollo.
- XWPF (formato de procesador de texto XML [7] ): conjunto de funciones similares a HWPF, pero para archivos Office Open XML.
- HSLF (Horrible Slide Layout Format [7] ): una implementación pura de Java para archivos de Microsoft PowerPoint . Esto brinda la capacidad de leer, crear y editar presentaciones (aunque algunas cosas son más fáciles de hacer que otras)
- HDGF (Horrible DiaGram Format [7] ): una implementació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 [ cita requerida ] ) - una implementación pura de Java para archivos de Microsoft Publisher. [8]
- HSMF (Horrible Stupid Mail Format [9] ): una implementación pura de Java para archivos MSG de Microsoft Outlook. [10]
- DDF (Dreadful Drawing Format [7] ): un paquete para decodificar el formato de dibujo de Microsoft Office.
El componente HSSF es la característica más avanzada de la biblioteca. [11] Otros componentes (HPSF, HWPF y HSLF) son utilizables, pero tienen menos funciones. [12] [13]
La biblioteca de puntos de interés también se proporciona como una extensión de Ruby [14] o ColdFusion .
Hay módulos para plataformas de Big Data (por ejemplo, Apache Hive / Apache Flink / Apache Spark), que proporcionan cierta funcionalidad de Apache POI, como el procesamiento de archivos de Excel. [15] [16]
Historial de versiones
Leyenda: | Versión antigua, no mantenida | Versión anterior, aún mantenida | Versión estable actual | Lanzamiento futuro |
---|
Número de versión | Fecha de lanzamiento |
---|---|
5.0.0 | 20. de enero de 2021 |
4.1.2 | 14. febrero 2020 |
4.1.1 | 20. de octubre de 2019 |
4.1.0 | 09 de abril de 2019 |
4.0.0 | 07 de septiembre de 2018 |
3,17 | 15 de septiembre de 2017 |
3,16 | 19 de abril de 2017 |
3,15 | 21 de septiembre de 2016 |
3,14 | 2. marzo de 2016 |
3.13 | 29 de septiembre de 2015 |
3.12 | 11 de mayo de 2015 |
3.11 | 21 de diciembre de 2014 |
3.10.1 | 18. de agosto de 2014 |
3.10 | 8. febrero de 2014 |
3.9 | 3. Diciembre de 2012 |
3.8 | 26 de marzo de 2012 |
3,7 | 29 de octubre de 2010 |
3.6 | 14. diciembre de 2009 |
3,5 | 28 de septiembre de 2009 |
3.2 | 19. octubre de 2008 |
3.1 | 29 de junio de 2008 |
3.0.2 | 4. Febrero de 2008 |
3.0.1 | 5. julio de 2007 |
3,0 | 18. de mayo de 2007 |
2.5.1 | 29 de febrero de 2004 |
2.5 | 29 de febrero de 2004 |
2.0 | 26 de enero de 2004 |
1.5.1 | 16. junio de 2002 |
1,5 | 6. Mayo de 2002 |
1.2.0 | 19. de enero de 2002 |
1.1.0 | 4. Enero de 2002 |
1.0.2 | 11. de enero de 2002 |
1.0.1 | 4. Enero de 2002 |
1.0.0 | 30 de diciembre de 2001 |
Ver también
- Convenciones de empaquetado abierto
- Software Office Open XML
Referencias
- ^ "Historial de cambios" . 2021-01-20 . Consultado el 20 de enero de 2021 .
- ^ a b c d Sundaram, Elango (22 de marzo de 2004), "Excelling in Excel with Java" , JavaWorld , consultado el 21 de julio de 2020.
- ^ Página de inicio de POI de octubre de 2004 , Coyote Song, archivado desde el original el 15 de octubre de 2004, mostrando explicaciones originales para nombrar.
- ^ SourceSense
- ^ McDougall, Paul (26 de marzo de 2008). "Componentes de código abierto de Microsoft Eyes para Office 2007" . InformationWeek . Consultado el 21 de julio de 2020 .
- ^ Oliver, Andrew C. (27 de marzo de 2008), "Rejection of any ENCUMBERED Microsoft Donation to POI" , Archivos de listas de correo de desarrollo de POI , consultado el 21 de julio de 2020
- ^ a b c d e "Documentación de la API de POI" . Poi.apache.org . Consultado el 7 de marzo de 2019 .
- ^ "POI-HPBF - API de Java para acceder a archivos de formato de Microsoft Publisher" . Poi.apache.org . Consultado el 7 de marzo de 2019 .
- ^ Codeplex NPOI , Microsoft, archivado desde el original el 28 de marzo de 2012[se necesita una mejor fuente ]
- ^ PDI-HSMF , Apache, archivada desde el original en 2011-08-07 , recuperado 2011-07-31
- ^ POI-HSSF , Apache
- ^ POI-HWPF , Apache
- ^ POI-HSLF , Apache
- ^ POI-Ruby , Apache
- ^ "HadoopOffice para Hive / Flink / Spark" . Github.com. 2018-07-19 . Consultado el 7 de marzo de 2019 .
- ^ "Spark Excel" . Github.com . Consultado el 7 de marzo de 2019 .
enlaces externos
- Página web oficial