2012-11-22 4 views
2

J'essaye d'enregistrer un fichier en utilisant EPPlus, mais je continue à obtenir une exception InvalidOperationException sur la ligne Save().EPPlus - save InvalidOperationException

System.IO.File.Copy(strSource, strNewNotePath, true); 
ExcelPackage xlPackage = new ExcelPackage(new FileInfo(strNewNotePath)); 
xlPackage.Save(); 

Le InnerException dit « index était hors de portée doit être négatif et inférieur à la taille de la collection \ r \ nParameter nom:.. Index ».

Le fichier Excel contient très peu - juste quelques éléments de dessin - des rectangles arrondis, des zones de texte, puis deux cellules contenant des données.

Quelqu'un a-t-il eu des idées sur ce qui pourrait être à l'origine de cette situation?

Merci

+0

Cela s'est avéré être un fichier Excel cassé. J'ai collé le contenu de l'ancien fichier dans un tout nouveau classeur, j'ai utilisé le même code et il s'est déroulé sans erreur. Aucune idée de ce qui l'a causé, si ce n'est que le fichier précédent était une feuille exportée d'un ancien fichier .xls (pas xlsx), donc c'était peut-être le coupable ... –

+0

En supposant que le fichier xls a été créé avec une version Excel avant 2007, cela aurait du sens puisqu'il n'aurait pas utilisé OpenXml. – Chris

Répondre

0

je le même problème dans la version 3.0.0.2 de EPPlus. J'ai essayé de créer de nouveaux fichiers Excel, en réenregistrant ceux qui existaient déjà, mais cela n'a pas fonctionné. J'ai eu la dernière version (à partir de 20141016 (3.1.3.0)) et cela a bien fonctionné.