Excel图表types垂直值

从很长一段时间,我试图生成这样的graphics 在这里输入图像说明

我试过的代码

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; 

请帮助我应该使用哪种图表types,或者我犯了什么错误。 一个

更改图表types后,它工作得很好,但不适用于最后一行文本。 如下图所示。 在这里输入图像说明

是的,你需要改变图表types。

 using Excel = Microsoft.Office.Interop.Excel; chartPage1.ChartType = Excel.XlChartType.xlBarClustered 

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

编辑 – 另外,别忘了这样做

 chartPage1.PlotBy = Excel.XlRowCol.xlColumns; 

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