Excel 图表类型垂直值

Excel Chart Type vertical value

长期以来我一直在尝试生成这样的图表

我试过的代码。

            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; 

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

更改图表类型后,它可以正常工作,但不适用于最后一行文本。如下图所示。

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

using Excel = Microsoft.Office.Interop.Excel;

chartPage1.ChartType = Excel.XlChartType.xlBarClustered

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

编辑 - 另外,别忘了做

chartPage1.PlotBy = Excel.XlRowCol.xlColumns;

我不知道怎么做,但当我在代码中评论 chartPage1.SetSourceData(chartRange1, Type.Missing); 时它工作正常,可能有两个数据源设置一个由注释行和一个由系列集合设置。