Ouvrir fichier excel

desopedr Messages postés 5 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 7 décembre 2006 - 2 déc. 2006 à 10:31
desopedr Messages postés 5 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 7 décembre 2006 - 7 déc. 2006 à 15:59
Bonjour,

Voilà mon problème : j'ai developpé une application winforms en C#, base de donnée access, j'ai créé une classe qui importe les données depuis excel vers ma bd et aussi qui exporte du logiciel vers excel.

J'ai testé chez moi, chez un ami et à l'école (avec des config différentes, Vista/XP, Office 2000/2003/2007) et ça tourne. Par contre quand je teste chez mon client ça plante lors de l'ouverture du fichier excel (puisqu'il faut ouvrir avant l'import/export). Sur sa machine il y a office 97/2000 et 2003...j'ai pensé que c'était à cause du 97 mais il a désinstallé et ça ne marche toujours pas....

Quelqu'un aurait une idée du problème ? Pourquoi ça marcherait partout sauf chez lui ?

ERREUR :
System.Runtime.InteropServices.COMException(0x80010105). Le serveur a généré une exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFALUT))
at Excel.ApplicationClass.set_Visible(Boolean RHS)
at SystemEval.Form.Form_DataImport.OpenFile_XLS(String path) in
P:\Projets\SysmanEval\SysmanEval\Form\Form_DataImport.cs:line 65

CODE OUVERTURE :
public bool OpenFile_XLS(string path)
        {
            try
            {
                fileName = path;
                xlApp = new Excel.Application();
                xlApp.Visible = false;  // ne pas faire apparaître Excel

                xlClasseur = xlApp.Workbooks.Open(fileName,
                Missing, Missing, Missing, Missing,
                Missing, Missing, Missing, Missing,
                Missing, Missing, Missing, Missing,
                Missing, Missing);

                xlFeuilles = xlClasseur.Sheets;
                return true;
            }
            catch (Exception e)
            {
                MessageBox.Show(this, "Impossible d'ouvrir le fichier. Détails : " + e.ToString(), "Erreur d'ouverture fichier", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
        }

Merci d'avance, salutations.

Diplômé Informaticien de Gestion ES
Etudiant HES à temps partiel en 4ème
Sierre (CH - VS)

5 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
3 déc. 2006 à 15:52
0
desopedr Messages postés 5 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 7 décembre 2006
4 déc. 2006 à 08:45
Salut,

Merci. Je ne suis pas très bon en anglais et j'aimerais savoir...

Je dois les installer sur le poste de développement ou chez mon client ? Etant donné que c'est pas ma machine je ne veux pas faire n'importe quoi..
Chez moi j'ai jamais installé les PIAs et mon programme marche.

Est-ce que c'est possible que ces dll ne marche pas chez mon client à cause des différentes versions d'office qu'il a installé ?
Références avec mon programme :
Interop.Excel.dll
Interop.Microsoft.Office.Core.dll
Interop.VBIDE.dll

Merci SymPa c'est sympa
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
4 déc. 2006 à 09:27
Salut,

Je tiens a préciser que n'étant pas un expert en automation office c'est la seule erreur que je puisse diagnostiquer, cependant le probleme est peut-etre autre part.

Le fait que cela marche sur ton poste et pas chez ton client pourrait s'expliquer par la façon dont tu as installé office (installation complète, ou alors dans le choix des composants a installer :  tu as choisir ceux de programmabilité .Net). Si ces composants ne sont pas installés sur le poste du client, le plantage viendrait forcément de là.

Il faut donc, si c'est bien la cause de l'erreur, que tu installes les PIAs (Platform Invoke Assemblies) chez ton client. Je ne pense pas que les différentes vesions installées soient en cause, j'ai moi meme 2 versions installées et cela marche quand meme (2 versions de dll différentes, suffit de prendre celles qui correspondent a la version).
Au pire, si tu veux pas les installer de crainte de faire une 'bétise' (qui n'en serait pas une), essaie de verifier l'installation d'office pour voir si les composants .Net ont bien été installés.
D'ailleurs, tu peux tout simplement modifier cette installation d'office plutot que d'installer le package précisé dans mon autre poste.

Mx
MVP C# 
0
desopedr Messages postés 5 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 7 décembre 2006
4 déc. 2006 à 09:36
Re,

Ok merci beaucoup à toi ! Je testerais ça. dès que je peux et reposterais la solution..

A bientôt.

Diplômé Informaticien de Gestion ES
Etudiant HES à temps partiel en 4ème
Sierre (CH - VS)
0

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

Posez votre question
desopedr Messages postés 5 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 7 décembre 2006
7 déc. 2006 à 15:59
Re,


Malheureusement le client a installé les PIAS et ca plante toujours avec la même erreur 


Quelqu'un aurait une autre idée ?


Merci A+

Diplômé Informaticien de Gestion ES
Etudiant HES à temps partiel en 4ème
Sierre (CH - VS)
0
Rejoignez-nous