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

MFC Discussion :

[MFC/OLE] Génération de graphique Excel


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut [MFC/OLE] Génération de graphique Excel
    Bonjour,

    Je réalise en ce moment une application Windows qui compare 2 fichiers xml, et génère un tableau Excel des différences notables. Jusqu'ici tout va bien .

    Je souhaiterai maintenant générer automatiquement un graphique excel avec le tableau obtenu précédemment puis récupérer ce graphique et l'afficher dans mon application.

    J'ai donc trouvé moulte informations et tutoriels sur le site Microsoft, le plus intéressant étant celui qui explique comment accéder aux classes Excel :

    http://support.microsoft.com/kb/178749/EN-US/

    J'ai aussi en vu de reprendre ce tutoriel pour générer mon graphique :

    http://support.microsoft.com/kb/178783/en-us


    Mon problème est le suivant :

    Tout d'abord, lorsque je créé une nouvelle classe à partir d'une Typelib (ici Excel10, donc la version 2002) ce bougre me fait un nouveau fichier pour chaque classe Excel (_Application, _Chart, ...) alors que dans le tutoriel Microsoft je suis censé n'avoir qu'un seul excel.h .

    J'ai donc décidé de ne prendre que les classes qui me sont utiles et de les placer moi même dans un excel.h. Seulement voila, bon nombre de méthodes comme SetVisible() de la classe _Application ou SetValue2() de la classe _Chart sont manquantes . De ce fait, il m'est impossible d'exploiter le deuxième tutoriel donné en lien ci-dessus.

    J'utilise Visual C++ .NET et Excel 2002. La lib que j'utilise est celle inclue dans Excel.exe.

    Quelqu'un aurait-il une solution/explication à mon problème ?

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Mon problème est le suivant :

    Tout d'abord, lorsque je créé une nouvelle classe à partir d'une Typelib (ici Excel10, donc la version 2002) ce bougre me fait un nouveau fichier pour chaque classe Excel (_Application, _Chart, ...) alors que dans le tutoriel Microsoft je suis censé n'avoir qu'un seul excel.h
    Les fichiers générés pour les interfaces faut surtout pas y toucher.
    En général l'EDI sait ce qu'il fait

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Je dois surement faire une mauvaise manipulation, mais je vois pas quoi.

    J'obtiens pour chaque classe sélectionnée un fichier header (ex : CApplication -> CApplication.h) qui s'intègre à mon projet MFC...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Tu ne fais pas de mauvaises manipulations.
    Le lien que tu donnes est pour VC6, qui ne fonctionne pas de la même façon que Visual Studio .Net.
    Aides-toi plutot de ça :
    http://support.microsoft.com/?scid=k...d=2488&sid=251

    Chaque classe est effectivement dans un .h différent mais tu peux inclure que les classes qui t'interessent.

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    oui c'était l'ancienne interface com pour word et excel qui etait bien pratique au demeurant
    maintenant tout est plus compliqué

  6. #6
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    j'ai fait un projet qui génère des graphiques en excel

    je te passe le source ca pourrait t'aider ptet
    Fichiers attachés Fichiers attachés
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup pour vos réponses. En effet, le problème est bien dû au fait que j'utilise la mauvaise version de VC++ (Je savais bien qu'un truc clochait ).

    Je vais donc regarder ces nouvelles classes de plus près ainsi que ton exemple hiko-seijuro.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Tout fonctionne très bien maintenant . Je suis capable de générer un tableau et son graphique associé.

    Je cherche maintenant à récupérer le graphique pour l'afficher dans une dialogbox.
    J'aimerai si possible éviter d'avoir à retracer et recalculer le graphique. J'avais en tête soit de réexploiter l'objet CChart soit de récupérer une image du graphique.

    Est-ce faisable avec le contrôl activeX MS Office Chart 10 ? Ou peut être avez vous une solution plus logique à me proposer ?

  9. #9
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    est ce que tu passes ton tableau à EXCEL ou bien il est généré directement dans excel ?

    si tu as les données du tableau dans tobn application tu peux regarder ca
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par hiko-seijuro
    est ce que tu passes ton tableau à EXCEL ou bien il est généré directement dans excel ?

    si tu as les données du tableau dans tobn application tu peux regarder ca
    Merci hiko. Ca à l'air sympa et simple à mettre en place. Je vais essayer ça tout de suite...

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    On en revient toujours au même problème : le tutoriel est fait pour VC++ 6 et ça n'a donc plus rien à voir avec la version .NET...

  12. #12
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    comme je suis en stage et que je n'ai pas visual sous la main je testerai ca ce soir et je te mettrait le projet
    Hiko-seijuro

    n'cha - hoyoyo gang

    espace perso : http://hiko-seijuro.developpez.com
    dernier tuto : Introduction à l'éditeur de texte Emacs sous linux
    consulter les faqs : http://www.developpez.com/faq
    PAS DE QUESTIONS TECHNIQUES PAR MP OU MAIL

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Salut,

    J'ai jetté un coup d'oeil sur le contrôle activeX MsChart 10. Il utilise une classe ChartSpace. Je n'ai absolument rien trouvé dessus pour une application sur VC++ ...

    Du coup, comme je fonctionne avec des CHtmlView j'ai récupérer un VBscript (intégré dans une page html) qui m'affiche un graphique similaire à celui d'excel.

    Le seul problème c'est comment fournir proprement au script les valeurs de mon tableau... La seul idée qui me vient c'est d'écrire directement dans le script avec un fwrite .

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    A titre informatif, j'ai réussi à afficher ma feuille excel en passant par une page html (affichée dans une CHtmlView de mon appli).
    J'utilise directement les objets de mon automation avec Excel ce qui m'évite d'avoir à retracer un nouveau graphique. Je passe bien évidemment par un fichier html temporaire.

    Pour cela, j'ai repris un tutoriel Microsoft (fait à la base pour VC++ 6) utilisant l'add-in "html.xla" :

    http://support.microsoft.com/default...%3Bfr%3B199691

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

Discussions similaires

  1. [WD15] Export excel ole Automation de graphique
    Par GEOFDEN dans le forum WinDev
    Réponses: 2
    Dernier message: 20/10/2010, 18h19
  2. Peut on inserer une fonction dans un graphique excel ?
    Par Celia1303 dans le forum Excel
    Réponses: 2
    Dernier message: 08/11/2005, 09h09
  3. création graphique excel à partir VB6
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/10/2005, 14h59
  4. [MFC] Automation : pb avec #include "excel.h"
    Par Nath71 dans le forum MFC
    Réponses: 2
    Dernier message: 19/09/2005, 09h40
  5. recuperer 1 graphique excel vers VB
    Par tomgrc dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 25/02/2005, 17h27

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