Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C在Excel图表中添加多个系列#_C#_Excel_Charts_Automation_Series - Fatal编程技术网

C# 如何使用C在Excel图表中添加多个系列#

C# 如何使用C在Excel图表中添加多个系列#,c#,excel,charts,automation,series,C#,Excel,Charts,Automation,Series,我想添加一个如下图所示的图表 此图表有3个系列(黑色、红色、蓝色) 下面是在图表上创建“一”系列的代码块 Excel._Workbook oWorkbook = (Excel._Workbook)oSheet.Parent; Excel._Chart oChart = (Excel._Chart)oWorkbook.Charts.Add(oSheet, Type.Missing, Type.Missing, Type.Missing); // Y axis data Excel.Range

我想添加一个如下图所示的图表

此图表有3个系列(黑色、红色、蓝色)

下面是在图表上创建“一”系列的代码块

Excel._Workbook oWorkbook = (Excel._Workbook)oSheet.Parent;
Excel._Chart oChart = (Excel._Chart)oWorkbook.Charts.Add(oSheet, Type.Missing, Type.Missing, Type.Missing);

// Y axis data
Excel.Range oRange = oSheet.get_Range(yRange, Type.Missing);

// Creates a chart
oChart.ChartWizard(oRange, chartType, 2, Excel.XlRowCol.xlColumns, Type.Missing, Type.Missing, false, title, xAxisTitle, yAxisTitle, Type.Missing);

// Sets X axis category
Excel.Series oSeries = (Excel.Series)oChart.SeriesCollection(1);    
oSeries.XValues = oSheet.get_Range(xRange, Type.Missing);
oChart.Name = chartName;
MSDNAPI不够有用,我几乎找不到任何关于这个问题的教程或示例。(或许我不太擅长搜索它们)

如果有人能给我一个解决方案,我将不胜感激。

我对C不太熟悉,但你可以尝试一些类似的方法

Excel.Range NewRangeObject = oSheet.get_Range(SecondyRange, Type.Missing);        

oChart.NewSeries
oChart.SeriesCollection(2).Name = "New Series"
oChart.SeriesCollection(2).Value = NewRangeObject
很明显,我是在猜测VBA代码的外观


一个更高层次的解决方案是直接在excel中记录一个宏,以完全按照您想要的方式设置图表。。。。然后将代码移植到C#。似乎大多数命令都是相似的,但包装在一个稍微不同的snytax中。

我可以用非常简单的解决方案解决这个问题。
如果我将yRange(橙色)设置正确,“ChartWizard”方法将自动创建图形。

因此,“A2:A100,C2:C100”将在一张图表上生成两行(系列),如果数据范围包括标题(或系列标签),“图表向导”将自动将系列名称放入图例中。

代码块上的注释说,这可能会让您有所了解“…多个系列--这还不起作用”。尽管如此,我还是试着修改了一些行,但还是没有弄明白。:(无论如何,谢谢你。