系统.例外:名称已经存在于图纸集中

本文关键字:存在 于图纸 集中 例外 系统 | 更新日期: 2023-09-27 18:15:43

我正在尝试使用Epplus库在excel表中生成条形图。我已经成功地在工作表中添加了一个Piechart。

var chart1 = ws.Drawings.AddChart("xyz",eChartType.ColumnClustered) as ExcelBarChart ;
    chart1.Legend.Position = OfficeOpenXml.Drawing.Chart.eLegendPosition.Right;
    chart1.Legend.Add();
    chart1.SetPosition(1, 0, 1, 0);
    chart1.SetSize(600, 400);
    //chart.Se
    chart1.DataLabel.ShowValue = true;

    chart1.Series.Add(r1, r2);

我是铸造excel条形图。但是我在

上面的第一行出现错误

System.Exception: Name already exists in the drawings collection

我尝试了不同的图表类型选项,如ColumnClustered, Barstacked等,但仍然得到错误。请帮助。

系统.例外:名称已经存在于图纸集中

看这个错误——它不是在谈论图表的类型,而是在谈论名称。假设你已经添加了一个叫做xyz的图表。请使用不同的名称。

(仔细阅读错误信息总是很重要的,这样你就不会走到死胡同…)

编辑:正如注释中所指出的,该方法被调用了两次。第一次它会工作,但第二次它会失败,因为试图添加第二个图表具有相同的名称。选择:

  • 记录你创建了多少个图表,并将它们命名为xyz1, xyz2等
  • 从Guid或类似的东西创建图表名称
  • 将图表名称传递给方法并强制调用者确保它们是唯一的
相关文章: