Exception à l'aide de POI
Je suis l'aide de poi 3.7 , téléchargez le fichier est .xlsx
La console de salon:
org.apache.poi.POIXMLException: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:41)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:186)
at poi.POITest.ReadAndPrintExcelFile(POITest.java:15)
at poi.POITest.main(POITest.java:59)
Caused by: org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13]
at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:147)
at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:592)
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:222)
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:39)
... 3 more
- On dirait le fichier que vous tentez d'ouvrir est cassé. Vous pouvez l'ouvrir directement dans Excel?
- on dirait que vous utilisez la mauvaise bibliothèque pour ouvrir votre fichier excel
- Je peux l'ouvrir directement dans Excel!!!
- la bibliothèque n'est pas téléchargé à partir du site officiel..
Vous devez vous connecter pour publier un commentaire.
Suffit d'utiliser
org.apache.poi.ss.usermodel.WorkbookFactory
au lieu de créer des instances : nouvelle HSSFWorkbook() ou de nouveaux XSSFWorkbook().Pas la réponse que vous voudrez peut entendre. Mais j'ai trouvé, j'obtiens cette erreur quand le mot de passe est erroné.
Vérifier si l'appel à Decryptor.verifyPassword() renvoie la valeur true dans votre code. Si donc le mot de passe doit être fine.
Pour moi j'ai un faux, et le code ignoré et essayez de lire le fichier de toute façon.Puis j'ai eu le "Paquet doit contenir un type de contenu de la partie [M1.13]" erreur.
Une fois j'ai tapé le mot de passe correct, je me suis retourné véritable et le fichier a été déchiffré.
Espère que cette aide
Je utiliser POI, et parfois, quand cela arrive, vous avez juste à expérimenter afin de cerner le problème. Voici les choses que j'ai fait dans le passé pour aider à comprendre ce qu'est le problème:
Convertir le fichier .format xls et voir si il charge. Si elle le fait, enregistrez à nouveau comme .xlsx et essayez à nouveau.
Si le fichier a plusieurs feuilles, essayez d'enregistrer chaque feuille dans un fichier séparé et voir si elles peuvent charger,
Si vous le réduire à une fiche spécifique, la charge des parties de la feuille et de voir quelle partie à l'origine du problème.
Habituellement, si vous utilisez cette "diviser et conquérir" approche, vous pouvez comprendre le problème assez rapidement.
Formules et macros peuvent être particulièrement problématiques.
Si vous utilisez open office et essayez d'enregistrer le fichier au format xlsx encore, vous obtenez l'erreur; aussi à l'aide de xssf ne pas résoudre le but.vous devez utiliser Microsoft Office Excel feuille pour éviter l'erreur.
J'ai trouvé que j'avais corrompu mon fichier xlsx, et avaient donc de le supprimer et de le recréer.