Excel图表类型垂直值

Hot*_*tud 6 .net c# excel charts

很长一段时间,我试图生成这样的图形 在此输入图像描述

我试过的代码.

            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; 
Run Code Online (Sandbox Code Playgroud)

请帮助我应该使用哪种图表类型,否则我会犯任何错误.一个

更改图表类型后,它完全正常,但它不适用于最后一行文本.如下图所示. 在此输入图像描述

Shi*_*eus 8

是的,您需要更改图表类型.

using Excel = Microsoft.Office.Interop.Excel;

chartPage1.ChartType = Excel.XlChartType.xlBarClustered
Run Code Online (Sandbox Code Playgroud)

您可能需要根据希望它们的显示方式调整网格线.如果需要,我可以提供更多代码.

编辑 - 另外,不要忘记这样做

chartPage1.PlotBy = Excel.XlRowCol.xlColumns;
Run Code Online (Sandbox Code Playgroud)