Tôi muốn cập nhật (thêm trang tính khác và thêm biểu đồ) tệp xlsx hiện có bằng cách sử dụng gói excel epplus. Tuy nhiên, tôi có một lỗi trong sau dòngphần epplus đã tồn tại
var pieChart = worksheet.Drawings.AddChart("Chart1", OfficeOpenXml.Drawing.Chart.eChartType.Pie);
Lỗi: Một ngoại lệ unhandled của loại 'System.InvalidOperationException' xảy ra ở EPPlus.dll bổ sung thông tin: Phần đã tồn tại
Can có ai giúp tôi không? Cảm ơn bạn trước.
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();
}
Có phải 'Biểu đồ X' hoặc' Biểu đồ1' không? Đã có 'Chart1' (hoặc Chart X bất cứ điều gì bạn đang sử dụng) có mặt trên các trang khác của bảng tính này? – Spidey
Có, đó phải là Chart1, copy-paste mistake.Already edited. – Svartalfar
Đổi tên phần mở rộng xlsx thành .zip và mở nó bằng 7zip hoặc một số công cụ khác. Bạn có thấy thư mục 'xl \ drawings' không? Nếu vậy, hãy xem các tệp xml và xem liệu có "biểu đồ 1" được liệt kê trong đó chưa. – Ernie