1

我正在使用 C#(互操作)创建一个 excel 图表。我正在使用 get_Range 函数从 excel 的数据表中获取它。我得到了正确的图表。但我没有得到图表旁边的图例名称,它以 series0、series1 的形式出现。我正在使用以下代码。

    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 方法中更改什么来获取图表中的图例名称?

先感谢您。

4

2 回答 2

0

尝试遍历系列集合并一一设置名称。像这样的东西:

foreach (Series series in myChart.SeriesCollection()){
   series.Name = "MyName";
}
于 2013-02-18T21:01:51.233 回答
0

通常,数据的排列方式是,如果系列按列排列,则数据的第一列具有所有系列的 X 值,其余列是 Y 值,数据的第一行具有系列名称,在图例中显示。为确保 Excel 能够以这种方式解析数据,请确保左上角的单元格为空白。使用整个范围,包括第一列中的 X 值和第一行中的系列名称,作为 SetSourceData 中的图表范围。

于 2015-03-24T19:37:17.917 回答