IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Ouverture d'Excel impossible : erreur : 80070005


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 13
    Par défaut Ouverture d'Excel impossible : erreur : 80070005
    Bonjour à tous,

    Je n'arrive pas à ouvrir fichier Excel via "new ApplicationClass".
    J'ai l'erreur suivante
    "La récupération de la fabrique de classe COM pour le composant avec le CLSID {00024500-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante : 80070005."
    Merci de vos réponses.

    Michael

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Quelles sont les bibliothèques que tu as utilisées ?
    (autrement dit, comment as-tu fait pour référencer Excel dans ton projet ?)

  3. #3
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Bonjour,

    Serait-ce une erreur sur les droits d'accès ?

    En tout cas, cela y ressemble. En gros, le compte utilisateur de ton pool d'application n'a pas assez de droits pour piloter Excel. Pour régler cela, utilises l'impersonation avec un compte qui a plus de droits, administrateur de la machine par exemple (tu seras sur que cela marchera).

    Pour l'implémentation de l'impersonation, je t'invites à aller voir mon blog.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 13
    Par défaut
    Bonjour,
    Merci de vos réponses.
    Je pense également que c'est un problème de droits mais j'ai ajouté tous les droits sur le fichier "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.exe" au user ASPNET et IUSR... et cela ne change rien.

    Voici mon bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Objet pour les arguments optionnels ou manquants
            object missing = System.Reflection.Missing.Value;
     
            // Ouverture de Excel
            Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
            excelApp.Visible = false;
     
            // Ouverture du fichier et accès à la première feuille
            Microsoft.Office.Interop.Excel.Workbooks excelWorkbooks = excelApp.Workbooks;
            Microsoft.Office.Interop.Excel.Workbook excelWorkbook = (Microsoft.Office.Interop.Excel.Workbook)excelWorkbooks._Open(fileName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
            Microsoft.Office.Interop.Excel.Worksheet excelWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)excelWorkbook.Worksheets.get_Item(1);


    Merci de votre aide.
    Michael

  5. #5
    Rédacteur
    Avatar de Paul Musso
    Profil pro
    Inscrit en
    Août 2008
    Messages
    368
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2008
    Messages : 368
    Par défaut
    Je ne te conseille pas d'ajouter des droits spécifiques au compte utilisé par défaut par le pool d'application.
    Utilises plutôt l'impersonation avec un compte administrateur pour être sûr que ton bug vient de là.

  6. #6
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    et moi, personnelement, je te conseille.....de ne pas utiliser de l'automation Excel dans un environnement serveur...

    Et la, c'est pas moi qui le dit, c'est Microsoft

    http://support.microsoft.com/kb/257757

    Si c'est pour lire le contenu du fichier Excel, tu peux utiliser JetOleDb, au moins, tu n'auras pas ton serveur dans les choux des qu'un utilisateur ouvre un fichier excel

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2004
    Messages
    417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2004
    Messages : 417
    Par défaut
    +10000

    sinon aussi :
    http://www.carlosag.net/Tools/ExcelXmlWriter/
    qui est bien sympa a utiliser.
    Bon il manque le code source pour pouvoir faire vraiment ce que l'on veut. Mais bien sympa

  8. #8
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    http://www.carlosag.net/Tools/ExcelXmlWriter/
    qui est bien sympa a utiliser.
    oui, c'est sympa...mais c'est pour ecrire de l'excel

    (en plous, je suis en plein dans du reporting Excel, justement, avec cette bibliothèque )

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Par défaut
    Citation Envoyé par micher Voir le message
    Bonjour,
    Merci de vos réponses.
    Je pense également que c'est un problème de droits mais j'ai ajouté tous les droits sur le fichier "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.exe" au user ASPNET et IUSR... et cela ne change rien.

    Voici mon bout de code
    // Objet pour les arguments optionnels ou manquants
    object missing = System.Reflection.Missing.Value;

    // Ouverture de Excel
    Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
    excelApp.Visible = false;

    // Ouverture du fichier et accès à la première feuille
    Microsoft.Office.Interop.Excel.Workbooks excelWorkbooks = excelApp.Workbooks;
    Microsoft.Office.Interop.Excel.Workbook excelWorkbook = (Microsoft.Office.Interop.Excel.Workbook)excelWorkbooks._Open(fileName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
    Microsoft.Office.Interop.Excel.Worksheet excelWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)excelWorkbook.Worksheets.get_Item(1);



    Merci de votre aide.
    Michael
    Hello,

    J'avais le même problème il y a peu...
    En modifiant dans le fichier web.config la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <identity impersonate="true">
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <identity impersonate="false">
    cela a fonctionné !

    Michel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouverture fichier excel et erreur 438
    Par Maryy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/03/2013, 17h02
  2. Réponses: 11
    Dernier message: 20/06/2011, 14h07
  3. Erreur Excel: Impossible d'utiliser cette connexion
    Par devuranie dans le forum Excel
    Réponses: 1
    Dernier message: 21/05/2011, 00h29
  4. Erreur à l'ouverture d'Excel
    Par potili2 dans le forum Débuter
    Réponses: 2
    Dernier message: 09/11/2007, 17h00
  5. Pb gestion erreur lors ouverture fichier excel
    Par titeelo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/08/2007, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo