epplus部分已经存在

Sva*_*far 5 .net c# excel epplus

我想使用epplus excel包更新(添加另一个工作表并添加图表)现有的xlsx文件.但是,我在下面的行中出错了

var pieChart = worksheet.Drawings.AddChart("Chart1", OfficeOpenXml.Drawing.Chart.eChartType.Pie);
Run Code Online (Sandbox Code Playgroud)

错误:EPPlus.dll中发生类型为"System.InvalidOperationException"的未处理异常附加信息:部分已存在

谁能帮我?先感谢您.

using (ExcelPackage pck = new ExcelPackage())
            {
       using (FileStream stream = new FileStream("Report.xlsx", FileMode.Open))
                {
                    pck.Load(stream);

                    ExcelWorksheet worksheet = pck.Workbook.Worksheets.Add("1");

                    var data = new List<KeyValuePair<string, int>>
    {
        new KeyValuePair<string, int>("Group A", 44613),
        new KeyValuePair<string, int>("Group B", 36432),
        new KeyValuePair<string, int>("Group C", 6324),
        new KeyValuePair<string, int>("Group A", 6745),
        new KeyValuePair<string, int>("Group B", 23434),
        new KeyValuePair<string, int>("Group C", 5123),
        new KeyValuePair<string, int>("Group A", 34545),
        new KeyValuePair<string, int>("Group B", 5472),
        new KeyValuePair<string, int>("Group C", 45637),
        new KeyValuePair<string, int>("Group A", 37840),
        new KeyValuePair<string, int>("Group B", 20827),
        new KeyValuePair<string, int>("Group C", 4548),
    };

                    //Fill the table
                    var startCell = worksheet.Cells[1, 1];
                    startCell.Offset(0, 0).Value = "Group Name";
                    startCell.Offset(0, 1).Value = "Value";

                    for (var i = 0; i < data.Count(); i++)
                    {
                        startCell.Offset(i + 1, 0).Value = data[i].Key;
                        startCell.Offset(i + 1, 1).Value = data[i].Value;
                    }

                    //Add the chart to the sheet
                    var pieChart = worksheet.Drawings.AddChart("Chart1", OfficeOpenXml.Drawing.Chart.eChartType.Pie);
                    pieChart.SetPosition(data.Count + 1, 0, 0, 0);
                    pieChart.Title.Text = "Test Chart";
                    pieChart.Title.Font.Bold = true;
                    pieChart.Title.Font.Size = 12;



                    pck.Save();
                }
Run Code Online (Sandbox Code Playgroud)

Yah*_*ein 1

请将图表 1 重命名为另一个名称,因为您可能已经在代码中的其他位置的 excel 文件中创建了同名的图表