Ouverture Fichier Xls : Ancien format ou bibliotheque de type non valide.

JCRen Messages postés 5 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 1 mars 2005 - 11 mars 2004 à 09:16
Pachanka Messages postés 3 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 30 août 2013 - 30 août 2013 à 10:35
Bonjour a tous, je suis oqp a creer un system de reporting qui doit externaliser des informations d'une DB dans un fichier xls.

Le probleme c'est qu'a chaque vois que je veux ouvrir un workbook, il me mets l'erreur indiquer dans le sujet c'est a dire : " Une exception non gérée du type 'System.Runtime.InteropServices.COMException' s'est produite dans ExcelTest.exe
Information supplémentaire : Ancien format ou bibliothèque de type non valide."

Partie du code .. :
--------------------
public void OpenXLS(string filePath)
{
Application app = new Application();
_Workbook wkb = app.Workbooks.Open(
filePath, Missing.Value, true, Missing.Value, "",
"",
Missing.Value,
Missing.Value,
"",
true,
false,
Missing.Value,
Missing.Value,
Missing.Value,
true);

Si quelqu'un a une idée de ce qui cloche ...

PS : Les softs installer son Visual studio .NET et Office 2003

D'avance merci

[mailto:infoCode@ibelgique.com mailto:infoCode@ibelgique.com]

++ JCR ++

5 réponses

cs_Vince41 Messages postés 7 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 2 mars 2005
1 mars 2005 à 17:33
J'ai exactement le même souci et je ne sais absolument pas le régler.

Si quelqu'un peu nous aider Merci.

J'ai essayer d'ouvrir un doc Word de même version qu'excel et je n'est aucun souci !
0
JCRen Messages postés 5 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 1 mars 2005
1 mars 2005 à 19:57
Le problème c'est que ton office est en anglais et que ta machine est en francais ou l'inverse.



De toute manière le problème réside dans la culture.



J'ai réalisé une classe qui permet de faire un export vers excell ainsi qu'une classe qui la teste.

je vais la mettre sur le site comme ca tu pourras en profiter.



Elle se base sur un dataGrid pour l'export.

++ JCR ++
0
cs_Vince41 Messages postés 7 Date d'inscription jeudi 14 août 2003 Statut Membre Dernière intervention 2 mars 2005
2 mars 2005 à 11:21
Effectivement tu as raison c'est un problème de langue j'ai résolu le problème grâce au code qui suis :


Hashtable ExcelLangue =
new Hashtable(System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures).Length-1);

foreach (System.Globalization.CultureInfo ExcelCulture
in System.Globalization.CultureInfo.GetCultures((System.Globalization.CultureTypes.AllCultures))


{


ExcelLangue .Add(ExcelCulture.LCID, ExcelCulture.Name);


}


System.Threading.Thread.CurrentThread.CurrentCulture =


System.Globalization.CultureInfo.CreateSpecificCulture(ExcelLangue [oXL.LanguageSettings.get_LanguageID(Microsoft.Office.Core.MsoAppLanguageID.msoLanguageIDUI)].ToString());

Comme ça peu importe la langue d'Excel et de ton système d'exploitation !
0
zeboss31 Messages postés 14 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 1 février 2010
4 août 2009 à 23:38
salut, pour ma part le meme souci a été résolu grace a la soluce que tu as posté, je l'ai juste adaptée en VB

merci bcp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pachanka Messages postés 3 Date d'inscription mardi 19 décembre 2006 Statut Membre Dernière intervention 30 août 2013
30 août 2013 à 10:35
Code vb.net
Dim ExcelLangue As New Hashtable(System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures).Length - 1)
For Each ExcelCulture As System.Globalization.CultureInfo In System.Globalization.CultureInfo.GetCultures((System.Globalization.CultureTypes.AllCultures))
ExcelLangue.Add(ExcelCulture.LCID, ExcelCulture.Name)
Next
'Microsoft.Office.Core.MsoAppLanguageID.msoLanguageIDUI = 2
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(ExcelLangue(objXlsAppli.XlsAppli.LanguageSettings.LanguageID(2)).ToString())
0
Rejoignez-nous