¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo establecer el encabezado de un archivo como Excel para que POI lo reconozca: Guía en Java

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 26 Vistas
0
Cargando...

Hola,

Estoy utilizando la API de POI para leer un archivo de Excel que previamente he escrito usando Java, pero no utilizando POI (he escrito el archivo usando XML de Microsoft Office y luego escribiéndolo usando FileOutputStream con una extensión xls).

El problema es que al leer de nuevo el archivo, obtengo este error:

El sistema no pudo cargar el archivo: Firma de encabezado no válida; leí 7311066695147732796, se esperaba -2226271756974174256.

lo que significa que el encabezado del archivo no está en formato de Excel.

Si abro manualmente el archivo y lo guardo como Excel, POI puede leerlo, pero no quiero hacer esto, ya que todo el proceso de escritura/lectura del archivo debería ser automatizado. No quiero usar POI para escribir el archivo porque POI no puede proporcionarme todo lo que necesito cuando XML de Microsoft Office puede.

Entonces, mi pregunta es simple: ¿Hay alguna forma, utilizando Java, de establecer el encabezado de un archivo como Excel para que POI lo reconozca como tal?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Hola Roy,

Es cierto: jexcelapi no admite xlsx, pero es una API más sólida que poi.

Si necesitas un enfoque ooxml, espero que Microsoft no cambie la especificación y continúe con sax/dom o jaxb, porque hasta donde sé, no hay una API con licencia GNU disponible para xlsx.

Buena suerte,

Saludos, Jens

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Jens,

Sí, también noté esto hace unos días.

Gracias por el otro enlace, pero esta API tampoco es compatible con Excel 2007.

Supongo que simplemente usaré SAX/DOM para leer el Excel como XML...

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Roy,

@ver: http://poi.apache.org/hssf/index.html

"HSSF es la implementación pura en Java del formato de archivo de Excel '97(-2007) del Proyecto POI. No es compatible con el nuevo formato de archivo .xlsx OOXML de Excel 2007, que no está basado en OLE2."

Tal vez jexcelapi te ayude a escribir tus archivos xls:

http://jexcelapi.sourceforge.net/

Saludos, Jens

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?