Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2828 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  APACHE POI 3.5 - Lecture de fichier XLSX - InvalidFormatException !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

APACHE POI 3.5 - Lecture de fichier XLSX - InvalidFormatException !

n°1888655
ludo_da
Posté le 27-05-2009 à 16:52:38  profilanswer
 

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":
 
Exception in thread "main" org.apache.poi.openxml4j.exceptions.InvalidFormatException: Can't read content types part !
 
 
 
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:
 
________________________________________________________
 

Code :
  1. import org.apache.poi.ss.usermodel.Workbook;
  2. import org.apache.poi.xssf.usermodel.*;
  3. public class Toto
  4. {
  5.     public static void main(String[] args)
  6.     {
  7.        try
  8.        {
  9.           XSSFWorkbook wb= new XSSFWorkbook("c:\\DemoCell.xlsx" );
  10.           XSSFSheet sheet=(XSSFSheet)wb.getSheetAt(0);
  11.           int lastRowNum=sheet.getLastRowNum();
  12.           for(int i=0;i<lastRowNum;i++)
  13.           {
  14.                XSSFRow row=sheet.getRow(i);
  15.                int lastCellNum=row.getLastCellNum();
  16.                System.out.println("\n => LIGNE "+i+"\n" );
  17.                for(int j=0;j<lastCellNum;j++)
  18.                {
  19.                    XSSFCell cell=row.getCell(j);
  20.                    String s1=cell.getRawValue();
  21.                    System.out.println(s1+";" );
  22.                }
  23.           }
  24.       }
  25.       catch(Exception e)
  26.      {
  27.          e.printStackTrace();
  28.       }
  29.    }
  30. }


________________________________________________________
 
 
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 InvalidFormatException 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.


Message édité par ludo_da le 27-05-2009 à 17:04:34
mood
Publicité
Posté le 27-05-2009 à 16:52:38  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  APACHE POI 3.5 - Lecture de fichier XLSX - InvalidFormatException !

 

Sujets relatifs
Lecture vidéo impossible avec Zenphoto et FlowplayerDans USS transformer fichier format UNIX en format Windows
Un graphe à partir d'un fichierRevenir au début d'un fichier
Recherche Lib pour fichier .confOperation sur un fichier
Subversion, lock fichierCaractères accentués, fichier batch et ligne de commande
Supprimer une ligne dans un fichierCreer un menu deroulant en passant par un fichier CSV
Plus de sujets relatifs à : APACHE POI 3.5 - Lecture de fichier XLSX - InvalidFormatException !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR