/ / Excel Type de graphique valeur verticale - c #, .net, excel, charts

Type de graphique Excel: valeur verticale - c #, .net, excel, diagrammes

Depuis longtemps j'essaie de générer un graphique comme celui-ci entrer la description de l'image ici

Codes j'ai essayé.

            Excel.Range chartRange1;
Excel.ChartObjects xlCharts1 = (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing);
Excel.ChartObject myChart1 = (Excel.ChartObject)xlCharts1.Add(350, 500, 500, 350);
Excel.Chart chartPage1 = myChart1.Chart;
chartRange1 = worksheet.get_Range("A33", "b56");
chartPage1.SetSourceData(chartRange1, Type.Missing);
chartPage1.ChartType = Excel.XlChartType.xlBarStacked;

Excel.Range xValues = worksheet.Range["B33", "B56"];
Excel.Range values = worksheet.Range["a33", "a56"];

Excel.SeriesCollection seriesCollection = (Excel.SeriesCollection)chartPage1.SeriesCollection();

Excel.Series series1 = seriesCollection.NewSeries();
series1.XValues = xValues;
series1.Values = values;

S'il vous plaît aider quel type de graphique je devrais utiliser ou je fais une erreur. UNE

Après avoir changé le type de graphique, cela fonctionne parfaitement mais ne fonctionne pas pour le texte de la dernière ligne. Comme indiqué dans l'image ci-dessous. entrer la description de l'image ici

Réponses:

8 pour la réponse № 1

Oui, vous devez changer le type de graphique.

using Excel = Microsoft.Office.Interop.Excel;

chartPage1.ChartType = Excel.XlChartType.xlBarClustered

Vous devrez peut-être ajuster les lignes de la grille en fonction de l'apparence souhaitée. Je peux fournir plus de code pour cela si nécessaire.

Modifier - N'oubliez pas non plus de le faire

chartPage1.PlotBy = Excel.XlRowCol.xlColumns;

1 pour la réponse № 2

Je ne sais pas comment mais au moment où j'ai commenté chartPage1.SetSourceData(chartRange1, Type.Missing); dans le code cela fonctionne bien, peut-être que deux sources de données sont définies une par ligne commentée et une par collection.