使用c#excel interop切换图表的行/列
我目前正在使用Excel Interop创build报告的程序。 所以我打算创build一个折线图如下:
正如我们在这里可以看到的,我们已经清楚地发现了与里程碑相关的数字和数字。 当我在Excel中手动select我的值为chartRange时,我收到这个Diagramm。 但是,当它以编程方式(select完全相同的范围),我得到这个:
那么,你可以看到select的数据。 Excel(或者我不知道的东西)不能识别里程碑行作为轴。 当我右键单击Diagramm – >select数据 – >更改行/列我得到我的权利图表。
现在有没有人知道命令切换这些行/列或某种方式来定义每个轴的范围?
我在这里附上我的代码的相关部分:
Excel.Application myExcelApplication; Excel.Workbook myExcelWorkbook; object misValue = System.Reflection.Missing.Value; myExcelApplication = null; myExcelApplication = new Excel.Application(); myExcelApplication.Visible = true; myExcelApplication.ScreenUpdating = true; myExcelWorkbook = (Excel.Workbook)(myExcelApplication.Workbooks.Add(misValue)); Excel.Worksheet newWorksheet; newWorksheet = (Excel.Worksheet)myExcelApplication.Worksheets.Add(); newWorksheet.Name = requestedVehicles[m]; newWorksheet = (Excel.Worksheet)myExcelWorkbook.ActiveSheet; Excel.Range chartRange = myExcelApplication.get_Range("B2", endrange + 4); Excel.ChartObjects xlCharts = (Excel.ChartObjects)newWorksheet.ChartObjects(Type.Missing); Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(100, 20, 500, 400); Excel.Chart chartPage = myChart.Chart; chartPage.HasTitle = true; chartPage.ChartTitle.Text = "num/denom"; chartPage.SetSourceData(chartRange, Excel.XlRowCol.xlColumns); chartPage.ChartType = Excel.XlChartType.xlXYScatterLines;
先谢谢了,安迪
我自己解决这个post,我已经偶然发现: https : //www.codeproject.com/questions/870177/csharp-excel-chart-x-axis-category-labels
问题在于我定义范围的左上angular单元格不是空的,所以Excel假定它应该是一个数据系列。