Avalados por :

Como definir o cabeçalho de um arquivo como Excel para que o POI o reconheça: Guia em Java

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 Vistas
0
Loading...

Olá,

Estou utilizando a API do POI para ler um arquivo do Excel que anteriormente escrevi usando Java, mas não utilizando o POI (escrevi o arquivo usando XML do Microsoft Office e depois escrevendo-o usando FileOutputStream com a extensão xls).

O problema é que ao ler o arquivo novamente, estou recebendo este erro:

O sistema não conseguiu carregar o arquivo: Assinatura de cabeçalho inválida; li 7311066695147732796, era esperado -2226271756974174256.

o que significa que o cabeçalho do arquivo não está no formato do Excel.

Se eu abrir manualmente o arquivo e salvá-lo como Excel, o POI consegue lê-lo, mas não quero fazer isso, pois todo o processo de escrita/leitura do arquivo deve ser automatizado. Não quero usar o POI para escrever o arquivo porque o POI não pode me fornecer tudo o que preciso quando o XML do Microsoft Office pode.

Então, minha pergunta é simples: Existe alguma maneira, usando Java, de definir o cabeçalho de um arquivo como Excel para que o POI o reconheça como tal?

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

3 Respuestas

0
Loading...

Olá Roy,

É verdade: o jexcelapi não suporta xlsx, mas é uma API mais robusta que o poi.

Se você precisa de uma abordagem ooxml, espero que a Microsoft não altere a especificação e continue com sax/dom ou jaxb, porque, até onde sei, não há uma API com licença GNU disponível para xlsx.

Boa sorte,

Cumprimentos, Jens

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

Olá Jens,

Sim, também notei isso alguns dias atrás.

Obrigado pelo outro link, mas esta API também não é compatível com o Excel 2007.

Acho que simplesmente usarei SAX/DOM para ler o Excel como XML...

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

Olá Roy,

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

"HSSF é a implementação pura em Java do formato de arquivo do Excel '97(-2007) do Projeto POI. Não é compatível com o novo formato de arquivo .xlsx OOXML do Excel 2007, que não é baseado em OLE2."

Talvez o jexcelapi te ajude a escrever seus arquivos xls:

http://jexcelapi.sourceforge.net/

Saudações, 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?