使用epplus创建excel图

Ste*_* Ed 5 c# excel charts epplus

这就是我所拥有的.我有一个有两列的excel表.第1列有传说的描述,如Category1 Category 2等.第2列的数字总数为6,4,18等.

类别计数

第1类6

第2类4

第3类18

我需要显示带有计数值的图形,并显示每行的类别名称.我尝试了不同的价值,但我无法理解.这是我目前的代码

        ExcelChart ec = (ExcelLineChart)chartSheet.Drawings.AddChart("chart_1",      
                        eChartType.Line);
            ec.SetPosition(1, 0, 3, 0);
            ec.SetSize(800, 300);
            var ran1 = chartSheet.Cells["A4:A6];
            var ran2 = workSheet.Cells["0:0"];

            var serie1 = (ExcelChartSerie)ec.Series.Add(ran1, ran2);
            serie1.Header = chartSheet.Cells["A3"].Value.ToString();

            ran1 = chartSheet.Cells["B4:B6];
            var serie2 = ec.Series.Add(ran1, ran2);
            serie2.Header = chartSheet.Cells["B3"].Value.ToString();

            var xml = ec.ChartXml;
            var lst = xml.GetElementsByTagName("c:lineChart");
            foreach (System.Xml.XmlNode item in lst[0].ChildNodes) {
                if (item.Name.Equals("ser")) {
                    foreach (System.Xml.XmlNode subitem in item.ChildNodes) {
                        if (subitem.Name.Equals("c:cat")) {
                            item.RemoveChild(subitem);
                            break;
                        }
                    }
                }
            }
Run Code Online (Sandbox Code Playgroud)

这给了我一行计数,但不显示我想要的类别名称.

提前感谢您的回复.

Ste*_* Ed 12

没关系,我摆弄了一下,找到了答案

这是工作代码

ExcelChart chart = chartSheet.Drawings.AddChart("FindingsChart",
OfficeOpenXml.Drawing.Chart.eChartType.ColumnClustered);
chart.Title.Text = "Category Chart";
chart.SetPosition(1, 0, 3, 0);
chart.SetSize(800, 300);
var ser1 = (ExcelChartSerie)(chart.Series.Add(workSheet.Cells["B4:B6"],
workSheet.Cells["A4:A6"]));
ser1.Header = "Category";
Run Code Online (Sandbox Code Playgroud)