-
Excel 97 et c#
Salut je voudrais utiliser excel depuis un programme c#
et j'ai des petits souvic des que je fais qq chose avec mon instance d'excel.
j'ai bien mis
Microsoft Excel Object Library 8.0 dans mon projet puisque peux fair un new Excel.Application();
mes si je faix xl.Visible=true;
bing j'ai ca comme erreur
HRESULT: 0x80010105 (RPC_E_SERVERFAULT))
j'ai trouve un post qui dit que c'est parceq ue excel97 et vs2005 ne sont pas compatibles ... c'est quand meme pas ca ?
et autre petite question c'est bien joli d'inclure des Ia dans le programme mais si on fais un produit "grand public" faut que tous le monde utilise la version d'excel que l'on a choisi ?
Merci
-
C'est une question de format. Tu aurais le même problème avec des outils pro comme Aspose. les anciennes versions ont parfois une meta donnée bien spéciale qui fait tout planter. donc il se peut que ta dll ne soit pas entièrement retrocompatible avec excel 97 :/
-
Donc je n'ai pas d'autre solution que de faire du 2003 et pas en dessous ?
-
il y a 2000 aussi et office XP.
avec 2003 et 2K7, ca représente 99,9% des excel du marché
-
Certes mais donc avec quelle version d'excel je doit travailler en dev pour etre le plus compatible possible ?
Merci
-
NORMALEMENT, 97, 2003, c'est la meme version je crois. après, c'est le support M$ qui pourra te répondre. je dirai que je me baserai sur 2000, et les versions futures seront plus facilement compatibles
-
Je reprend et confirme ce qu'a dit Louis-Guillaume (pas Louis, ni Guillaume !).
Oui, si tu travailles avec des librairies Office 2000, les documents que tu fourniras seront lisibles avec les applications Office 2000 ou plus.
Il y a une grande différence de format pour les documents Office entre les versions 97 et 2000 (et plus), mais l'utilisation d'Office 97 est aujourd'hui négligeable. Je te conseille de travailler avec Office 2000, les librairies sont beaucoup plus évoluées.
Ceci dit, je n'explique pas pourquoi ton automation Office 97 plante avec VS2005. Je ne peux pas tester dans l'immédiat, mais j'essayerai de mon côté et je te dis quoi.
-
Le plus fort c'est que une fois mon excel crée si je claque des try catch partout a chaque fois que je fais xl.qqchose. eh ben ça catch sans arrêt mais ça fait out quand même. En gros ça marche mais ça gueule en plus. C'est quand même extra çà non ?
et pkoi excel 2000 est supérieur a 2003 c'est pas la même branche d'evolution ?
-
Voila je suis passer a la fnac ce matin j'ai récupéré excel 2000 et ça marchouille un peu mieux sauf que j'ai une erreur
{"Ancien format ou bibliothèque de types non valide. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))"}
qui apparemment est du a la globalisation car mon excel est en US .
Si j'aoute
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
avant de taper sur excel ca marche bien.
donc est a ce a dire que en plus de connaitre la version d'excel il faut vérifier que c'est la bonne globalisation ?
et quel est l'impact de passer en us dans le programme sur les virgules, date ...
Merci