“L'emballage doit contenir un type de contenu de la partie [M1.13]”
J'essaie d'écrire dans un fichier Excel, cependant, je reçois l'erreur:
Exception in thread "main" org.apache.pi.POIXMLException: org.apache.pi.openxml4j.des exceptions.InvalidFormatException: l'emballage doit contenir un type de contenu de la partie [M1.13]
De ce que j'ai compris il me manque un fichier jar.
Quelqu'un peut-il m'aider à identifier le fichier qui c'est?
P. S. je suis à l'aide de Netbeans.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.JOptionPane;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
*
* @author nicholaskissaun
*/
public class Tester {
public static void main (String args \[\])throws FileNotFoundException, IOException, InvalidFormatException{
int RowCount = 7, iChoice;
String sChoice;
XSSFSheet s;
XSSFRow row1;
XSSFWorkbook wb;
XSSFCell r1c1, r1c2, r1c8, r1Episodes;
FileInputStream fis = new FileInputStream("/Users/nicholaskissaun/Google Drive/Grade 11_12/Computer Science/Java/Term1/src/IA/Profiles/Becky/ShowDetails.xlsx");
wb = new XSSFWorkbook(fis);
s = wb.getSheetAt(0);
}
}
L'erreur n'est pas sur le manque de fichier jar. C'est sur le manque de contenu type de cadre au sein de l'ShowDetails.xlsx fichier. Je crois que l'ShowDetails.xlsx n'est pas généré par Excel, mais par un logiciel tiers qui fait quelque chose de mal. Ouvrez le ShowDetails.xlsx avec Excel, enregistrer de nouveau avec Excel et puis essayez à nouveau avec PI.
Vous avez eu raison, j'ai de nouveau sauvé et il a travaillé cependant j'ai une autre erreur maintenant haha. Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: org.apache.pi.util.POILogger.journal(I[Ljava/lang/Object;)V
Il y a un mélange de différentes POI versions dans le ClassPath. Voir: poi.apache.org/faq.html#faq-N10006. Mais je n'ai aucune expérience avec Netbeans. Donc je ne sais pas comment faire pour nettoyer le chemin de la classe. Peut-être que les autres savent.
Merci pour votre aide!
Vous avez eu raison, j'ai de nouveau sauvé et il a travaillé cependant j'ai une autre erreur maintenant haha. Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: org.apache.pi.util.POILogger.journal(I[Ljava/lang/Object;)V
Il y a un mélange de différentes POI versions dans le ClassPath. Voir: poi.apache.org/faq.html#faq-N10006. Mais je n'ai aucune expérience avec Netbeans. Donc je ne sais pas comment faire pour nettoyer le chemin de la classe. Peut-être que les autres savent.
Merci pour votre aide!
OriginalL'auteur Tephrite | 2015-10-01
Vous devez vous connecter pour publier un commentaire.
Utiliser l'extension de fichier pour gérer
WorkSheet
TypePour fichier XLSX: utilisation
XSSFWorkbook & XSSFSheet
Pour fichier XLS: utilisation
HSSFWorkbook & HSSFSheet
OriginalL'auteur Hitesh Sahu
Cela peut se produire lorsque votre créer votre XLS/XLSX fichier par l'intermédiaire de LibreOffice. Apparemment, quelque chose est perdu dans la conversion et le fichier n'est pas la même qu'une feuille de calcul fait dans Microsoft Office. J'ai eu le même message d'erreur et la solution pour moi a été la copie de tous le travail que j'ai effectué dans LibreOffice Calc pour une feuille de calcul MS Excel, puis enregistrer un nouveau fichier.
OriginalL'auteur Gabriel Ullmann
Ce que vous avez est l'incompatibilité de version entre votre fichier Excel classeur et que vous essayez de créer. La meilleure façon de l'éviter est: choisir l'implémentation de l'Interface.
J'ai construit sur le dessus de Hitesh Sahu la solution:
OriginalL'auteur mike oganyan
VÉRIFIER LE FORMAT EXCEL .... Tout d'abord, j'ai créé un échantillon excel avec poi et j'ai changé les colonnes de la mienne première tentative il donner la même erreur, mais après quelques essayez lire .Je me demande pourquoi il n'a pas travaillé la première exécution 🙁
mais Si vous disposez d'un droit de la bibliothèque, veuillez vérifier le bon format excel
OriginalL'auteur TAYFUN ÇELİK
J'ai eu le même problème. Votre excel n'est pas dans le bon format. Vous pouvez copier tous les travaux de la nouvelle feuille ou ne Format Clair. Bonne chance.
OriginalL'auteur Pham Hung
J'ai le même problème. Lorsque vous ouvrez un fichier excel, il va générer un fichier comme ~$______.xlsx
Il suffit de trouver et de supprimer tous les d'entre eux travaillaient pour moi.
OriginalL'auteur Long Nguyen
Une autre solution possible est
WorkbookFactory
doit être fourni par Apache POI que vous utilisez (si pas de mise à niveau à la version la plus récente). Il reconnaît le format de fichier et crée de la mise en œuvre concrète deWorkbook
interface (XSSFWorkbook
ouHSSFWorkbook
). Lesource
paramètre peut êtrejava.io.InputStream
oujava.io.File
.OriginalL'auteur Michał Sokołowski
Le fichier excel qui votre demande d'essayer d'accès n'est pas de répondre en raison de problèmes de réseau ou corrompu format de la cause de cette erreur. Si c'est en raison de problème de réseau essayez d'exécuter l'application plus tard (ou) Si le fichier est endommagé, essayez de mettre le nouveau fichier et le test de votre application. Bonne Chance.
OriginalL'auteur ChiNtu
Ok dans mon cas c'est de cette façon que je l'ai eu et line3 jetait cette exception:
Mais j'ai pensé que line3 ne fonctionnait pas comme je l'avais aussi ouvert un flux de sortie
sur mon fichier xlsx via line2 et ensuite de faire line3 a été un échec. J'ai enlevé line2 pour le faire fonctionner.
OriginalL'auteur UzumakiL