OpenXml SpreadsheetDocument.Ouvert(...) obtenir de l'exception - La partie principale est manquant
J'ai un xlsx doc avec les en-têtes et il est situé dans mon cheminement d'un projet.
Je veux insérer des données à l'aide d'OpenXML, mais j'obtiens une exception lors de l'ouverture du fichier:
using (SpreadsheetDocument myDoc = SpreadsheetDocument.Open(MyxlsFileName, true))
{
//...
}
L'exception:
"Le package spécifié n'est pas valide. La partie principale est manquant"
Quel est le sens de l'exception et ce qui est mal?
Merci d'avance!
OriginalL'auteur Shir | 2014-04-23
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas ouvrir XLS fichiers avec OpenXml. Vous devez enregistrer votre fichier Excel comme un XLSX fichier à l'aide de Microsoft Excel 2007 ou une version plus récente. (En supposant que vous utilisez l'extension de fichier correct ici...)
Fichiers avec l'extension XLS sont dans un format binaire propriétaire qui ne peut pas être traitée avec OpenXML.
Donc, vous avez deux options:
Assurez-vous d'enregistrer votre fichier avec le bon type de fichier. Vous devez utiliser Excel 2007 ou 2010, et dans le dialogue d'enregistrement où il est dit: "Enregistrer en tant que type:" choisir "Classeur Excel" et non PAS "Classeur Excel 97-2003".
C'est exactement ce que j'ai fait.
Assurez-vous que le fichier n'est pas ouvert dans Excel whiule vous essayez de le lire, voir aussi cette question: stackoverflow.com/questions/11212374/...
Le fichier est à proximité au moment de l'exécution. Le lien ci-dessus est sur le fichier xml, je suis en utilisant xlsx fichier que j'ai créé moi-même.
OriginalL'auteur helb
Même si cela peut être très évident, il m'est arrivé: une Autre situation qui pourrait déclencher la excact même message d'erreur lorsque vous obtenez le nom du fichier de mal.
Vérifiez donc que vous avez vraiment le chemin à droite, pour moi, je me suis retrouvé avec un fichier nouvellement créé (avec la mauvaise orthographe) mais toujours la même erreur.
OriginalL'auteur tom_imk
essayez d'utiliser SpreadsheetDocument.Créer
au lieu de "Ouvrir"
OriginalL'auteur imprezza