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

C# Discussion :

[Excel][C#] Création de graphique avec ChartObjects


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 79
    Points : 38
    Points
    38
    Par défaut [Excel][C#] Création de graphique avec ChartObjects
    Bonjour à tous,

    je souhaite créer un graphique à l'aide de données récupérer dans Excel. Pour cela j'ai trouvé un exemple mais je me prends une Exception à l'appel d'une des méthode de l'exemple. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     Excel.Range range5 = sheet.get_Range("A5", "J6");
     double[,] array5 = new double[2, 10];
     for (int j = 0; j < array5.GetLength(1); j++)
     {
        double arg = Math.PI / array5.GetLength(1) * j;
        array5[0, j] = Math.Sin(arg);
        array5[1, j] = Math.Cos(arg);
     }
     range5.Value2 = array5;
     
     // The following code draws the chart
     range5.Select();
     Excel.ChartObjects chartobjects = (Excel.ChartObjects)sheet.ChartObjects(Missing.Value);
     
     Excel.ChartObject chartobject = (Excel.ChartObject)chartobjects.Add(10 /*Left*/, 100 /*Top*/, 450 /*Width*/, 250 /*Height*/); //<---- Exception sur cette ligne
     
     Excel._Chart chart = (Excel._Chart)chartobject.Chart;
     
     // Call to chart.ChartWizard() is shown using late binding technique solely for the demonstration purposes
     Object[] args7 = new Object[11];
     args7[0] = range5; // Source
     args7[1] = Excel.XlChartType.xl3DColumn; // Gallery
     args7[2] = Missing.Value; // Format
     args7[3] = Excel.XlRowCol.xlRows; // PlotBy
     args7[4] = 0; // CategoryLabels
     args7[5] = 0; // SeriesLabels
     args7[6] = true; // HasLegend
     args7[7] = "Sample Chart"; // Title
     args7[8] = "Sample Category Type"; // CategoryTitle
     args7[9] = "Sample Value Type"; // ValueTitle
     args7[10] = Missing.Value; // ExtraTitle
     chart.GetType().InvokeMember("ChartWizard", BindingFlags.InvokeMethod, null, chart, args7);
    je suis sous VS 2005, j'ai ajouter les reference aux objets COM Excel et OFFICE dans mon projet.

    l'exception retournée est en PJ

    voilà si quelqu'un a nue idée du pourquoi du coment je le remercie d'avance.
    bonne journée
    Images attachées Images attachées  

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 79
    Points : 38
    Points
    38
    Par défaut
    Alors je viens de me rendre compte que il s'agit d'un problème extérieur à ce code. Le fichier que j'essai d'atteindre est en mode PARTAGé et les graphique ne sont donc pas accessible.

    Du coup mon problème est le suivant :
    lorsque je crée ce fichier Excel j'utilise la méthode SaveAs() de la classe Excel.Workbook

    en paramètre on a tout un tas de chose et notamment ca :

    AccessMode
    One of the XlSaveAsAccessMode values

    xlExclusive (exclusive mode)
    xlNoChange default (don't change the access mode)
    xlShared (share list)

    et là je veut pas mettre xlShared sinon j'ai pas accès au méthodes de graphique. SI je laisse xlNoChange ou xlExclusive idem...

    j'ai loupé quelque chose quelque part sans doute.
    merci de votre aide

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 79
    Points : 38
    Points
    38
    Par défaut
    Ok en fait je faisait un SaveAs ailleurs avec en paramètre XlShared pour l'accesmode, donc tout était normale.
    Du coup mon marche bien...
    j'éspère que ca servira à quelqu'un

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

Discussions similaires

  1. [Graphique] Création de graphique avec GD ou artichow
    Par ckefran9 dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 19/03/2010, 14h28
  2. VBA Création de graphique avec source variable
    Par Romain57000 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/10/2008, 18h34

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