使用 epplus 创建 excel 个图表
Create excel graph with epplus
这是我的。我有一个包含两列的 excel sheet。
第 1 列有图例说明,例如 Category1 Category 2 等。
第 2 列的总计数为 6、4、18 等
Category
Count
Category1
6
Category2
4
Category3
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;
}
}
}
}
这给了我一行计数,但没有显示我想要的类别名称。
提前感谢您的回复。
没关系,我摆弄了一下,找到了答案
这是工作代码
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";
这是我的。我有一个包含两列的 excel sheet。 第 1 列有图例说明,例如 Category1 Category 2 等。 第 2 列的总计数为 6、4、18 等
Category | Count |
---|---|
Category1 | 6 |
Category2 | 4 |
Category3 | 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;
}
}
}
}
这给了我一行计数,但没有显示我想要的类别名称。
提前感谢您的回复。
没关系,我摆弄了一下,找到了答案
这是工作代码
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";