Tom's Guide > Forum > Programmation > [JAVA - APACHE POI 3.5] - Fichier XLSX - InvalidFormatException

[JAVA - APACHE POI 3.5] - Fichier XLSX - InvalidFormatException

Forum Programmation : [JAVA - APACHE POI 3.5] - Fichier XLSX - InvalidFormatException

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous,

Je viens de récupérer la dernier version du module POI d'Apache (poi-3.5-beta5-20090219.jar) afin de lire et d'écrire des fichiers EXCEL 2007 (.xlsx), mais je n'arrive même pas à faire fonctionner un exemple tout simple...

J'ai investigué tout l'après-midi et je ne trouve pas pourquoi. Voici l'exception générée lorsque j'essaye de lire un fichier ".xlsx":

[B]Exception in thread "main" org.apache.poi.openxml4j.exceptions.InvalidFormatException: Can't read content types part ![/B]


Que ce soit un fichier issu directement d'EXCEL 2007 ou un fichier généré par POI lui-même, l'exception est levée...

Voici le code source de ma classe qui essaye de lire un fichier, rien de plus simple:

________________________________________________________

Citation :


import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.*;

public class Toto
{
public static void main(String[] args)
{
try
{
[B]XSSFWorkbook wb= new XSSFWorkbook("c:\\DemoCell.xlsx" );[/B]
XSSFSheet sheet=(XSSFSheet)wb.getSheetAt(0);
int lastRowNum=sheet.getLastRowNum();

for(int i=0;i<lastRowNum;i++)
{
XSSFRow row=sheet.getRow(i);
int lastCellNum=row.getLastCellNum();
System.out.println("\n => LIGNE "+i+"\n" );

for(int j=0;j<lastCellNum;j++)
{
XSSFCell cell=row.getCell(j);
String s1=cell.getRawValue();
System.out.println(s1+";" );
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}


________________________________________________________


C'est l'instanciation new XSSFWorkbook("c:\\DemoCell.xlsx" ); qui plante.

En regardant sur le net, je vois en effet qu'un document OPEN XML doit avoir un type reconnu, par exemple:

* docx : application/vnd.openxmlformats-officedocument.wordprocessingml.document

* xlsx : application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

etc...

Dans mon cas (Can't read content types part !), l'API n'arrive pas à reconnaitre le type de contenu de mon fichier xlsx, mais pourquoi ??? :??: :??:

Avez-vous une idée ? Avez-vous déjà rencontré ce problème ? Et si oui comment l'avez-vous résolu ?

J'ai cherché sur plusieurs forum US, l'exception [B]InvalidFormatException[/B] a déjà été rencontrée, mais sans réponse satisfaisante...

Vous m'aideriez beaucoup si vous aviez la solution, car la je sèche...

Merci d'avance

:bounce:

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Tom's Guide > Forum > Programmation > [JAVA - APACHE POI 3.5] - Fichier XLSX - InvalidFormatException
Aller à :

Il y a 408 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens