Question JAVA SVP ..
scalabandri
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour tout le monde,
SVP j'ai une question JAVA, Mon besoin c'est de faire un programme JAVA qui permet la lecture d'un fichier Excel donné.
J'ai arrivé à faire ce programme mais seulement si la version de fichier Excel 97-2003. ( c'est à dire avec l'extension xls)
alors que mon programme doit gérer aussi le cas d'un fichier Excel 2010 ( extension xlsx).
Je reçois l'erreur ci-dessous quand j'utilise fichier Excel 2010 :
Exception in thread "main" org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:131)
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:104)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:138)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:327)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:308).
qlq1 peut m'aider SVP ?
Merci d'avance pour vos retours.
Cordialement.
SVP j'ai une question JAVA, Mon besoin c'est de faire un programme JAVA qui permet la lecture d'un fichier Excel donné.
J'ai arrivé à faire ce programme mais seulement si la version de fichier Excel 97-2003. ( c'est à dire avec l'extension xls)
alors que mon programme doit gérer aussi le cas d'un fichier Excel 2010 ( extension xlsx).
Je reçois l'erreur ci-dessous quand j'utilise fichier Excel 2010 :
Exception in thread "main" org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:131)
at org.apache.poi.poifs.storage.HeaderBlock.<init>(HeaderBlock.java:104)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:138)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:327)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:308).
qlq1 peut m'aider SVP ?
Merci d'avance pour vos retours.
Cordialement.
A voir également:
- Question JAVA SVP ..
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
1 réponse
Bonjour,
Le message d'erreur est pourtant extrêmement précis.
Tu dois donc remplacer tes objets HSSF par des objets XSSF (voire SXSSF)
Cf. la documentation : http://poi.apache.org/components/spreadsheet/
Le message d'erreur est pourtant extrêmement précis.
The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
Tu dois donc remplacer tes objets HSSF par des objets XSSF (voire SXSSF)
Cf. la documentation : http://poi.apache.org/components/spreadsheet/
Tout d'abord merci beaucoup pour votre retour.
Je reçois l'erreur ci-dessous quand je remplace mes objets HSSF par XSSF :
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
at IT_ZY90.main(IT_ZY90.java:236)
Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
As-tu une idée Monsieur ?
Merci,
Cordialement.
Ici il manque xmlbeans, qui va peut-être avoir lui aussi d'une dépendance (stax), qu'il faudra rajouter pour que cela fonctionne.
Pour simplifier la gestion de dépendances, il y a Maven qui fait ça très bien (Débuter avec Maven), voici par exemple l'arbre de dépendance de Apache POI généré par Maven, il faut donc ajouter tout ces jar pour que cela fonctionne.