我想添加如下图所示的图表。
此图表有3个系列(黑色,红色,蓝色)。
以下是创建" one"图表上的系列......
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;
MSDN API没有用,我几乎找不到关于此问题的任何教程或示例。 (或者也许我不是那么好搜索他们)
如果有人给我一个解决方案,我将不胜感激。
答案 0 :(得分:3)
我可以用非常简单的解决方案来解决这个问题 如果我将yRange(oRange)设置为右,“ChartWizard”方法会自动创建图形 因此,代替具有“A2:A100”的范围,“A2:A100,C2:C100”将在一个图表上生成两行(系列),并且如果数据范围包括标题(或系列标签),则“ChartWizard”将自动将系列名称放在图例中。
答案 1 :(得分:-1)
我不太熟悉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中。