C# Excel图表-不获取图例
我正在使用C interop创建excel图表。我正在使用get_Range函数从excel中的数据表中获取它。我得到了正确的图表。但我并没有把图例的名字放在图表旁边,它是以系列0,系列1的形式出现的。我使用以下代码C# Excel图表-不获取图例,c#,.net,excel,excel-interop,C#,.net,Excel,Excel Interop,我正在使用C interop创建excel图表。我正在使用get_Range函数从excel中的数据表中获取它。我得到了正确的图表。但我并没有把图例的名字放在图表旁边,它是以系列0,系列1的形式出现的。我使用以下代码 Range chartRange; Object misValue = System.Reflection.Missing.Value; ChartObjects xlCharts = (ChartObjects)sheet0.ChartObjects(Ty
Range chartRange;
Object misValue = System.Reflection.Missing.Value;
ChartObjects xlCharts = (ChartObjects)sheet0.ChartObjects(Type.Missing);
ChartObject myChart = (ChartObject)xlCharts.Add(10, 70, 250, 250);
Chart chartPage = myChart.Chart;
Chart chartPage1 = myChart.Chart;
chartRange = sheet0.get_Range("$G$45:$G$54,$AT$45:$AT$54", misValue);
chartPage.SetSourceData(chartRange, misValue);
chartPage.ChartType = XlChartType.xlColumnClustered;
chartPage.Location(XlChartLocation.xlLocationAsNewSheet, "Chart");
我应该在get_Range方法中更改什么以获取图表中的图例名称
提前谢谢。尝试迭代系列集合并逐个设置名称。大概是这样的:
foreach (Series series in myChart.SeriesCollection()){
series.Name = "MyName";
}
通常,数据的排列方式是,如果系列为列,则数据的第一列具有所有系列的X值,其余列为Y值,数据的第一行具有系列名称,如图例所示。要确保Excel能够以这种方式解析数据,请确保左上角的单元格为空。使用整个范围,包括第一列中的X值和第一行中的系列名称,作为SetSourceData中的图表范围。I可能会出错,但图例应该是图表的一个元素,而不是独立对象。要获取图例名称,只需迭代Chart.dataseries对象并获取它们的名称。注意:它从1开始,在dataseries.count结束,从0开始不会引发错误,但会产生疯狂的结果。此外,还必须多次投射对象。我无法提供示例代码,因为我的工作场所没有Visual Studio。Legend将以系列0、系列1的形式发布。我想重新命名它们。如何?重命名图表中的系列-这也应该更新图例。图例对象应该具有类似于名称属性的内容