IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

APACHE POI 3.5 - Lecture de fichier XLSX - InvalidFormatException !


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut APACHE POI 3.5 - Lecture de fichier XLSX - InvalidFormatException !
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    import org.apache.poi.ss.usermodel.Workbook;
    import org.apache.poi.xssf.usermodel.*;
    
    public class Toto
    {
        public static void main(String[] args) 
        {
           try
           { 
              XSSFWorkbook wb= new XSSFWorkbook("c:\\DemoCell.xlsx");
              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 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.

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2
    Par défaut
    Sur le Net, quelqu'un a dit qu'il avait eu la même erreur et qu'il avait réussi à corriger le problème en déclarant tous les JAR's du projet dans Eclipse. Ce que j'ai fait, je suis pas bête non plus...

    poi-3.5-beta5-20090219.jar
    poi-contrib-3.5-beta5-20090219.jar
    poi-ooxml-3.5-beta5-20090219.jar
    poi-scratchpad-3.5-beta5-20090219.jar
    ooxml-schemas-1.0.jar
    log4j-1.2.8.jar
    dom4j-1.6.1.jar
    jsr173_1.0_api.jar
    resolver.jar
    xbean.jar
    xbean_xpath.jar
    xmlbeans-qname.jar
    xmlpublic.jar

    D'autres personnes ont réussi à corriger ce problème ?

    Car là je n'y arrive pas... Pour l'instant j'ai mis cette fonctionnalité en stand-by mais j'aimerai bien finir par faire fonctionner correctement cette API d'APACHE...

Discussions similaires

  1. Création de fichiers .XLSX avec Apache POI
    Par Geoffrey49000 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 22/07/2011, 16h55
  2. POI - Problème de lecture de fichier
    Par david71 dans le forum Documents
    Réponses: 2
    Dernier message: 28/07/2010, 15h27
  3. [POI] Problème de lecture des fichiers Word
    Par Dari dans le forum Documents
    Réponses: 9
    Dernier message: 05/07/2007, 14h08
  4. [POI] Problème écriture/lecture dans un fichier Excel
    Par steuve dans le forum Documents
    Réponses: 6
    Dernier message: 02/07/2007, 15h47
  5. [POI] Lecture de fichiers word
    Par log2n dans le forum Documents
    Réponses: 1
    Dernier message: 20/04/2006, 13h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo