添加图表元素带有图例的数据表



我们可以使用EPPlus在excel表中生成图表。需要添加图表元素>>带有图例的数据表。有没有任何方法可以使用EPPlus添加这个?你可以在这里查看我正在寻找的图表

EPPlus不支持将数据表添加到图表中。你可以通过一些XML操作很容易地打开它,但如果你想对它进行样式设置,你需要对它进行更多的了解。最好以你喜欢的方式创建图表,保存它,并将XLSX作为ZIP文件打开,然后查看图表XML。

这就是你如何显示带有图例的默认数据表,让你开始:

using (var pck = new ExcelPackage(fileInfo))
{
    var workbook = pck.Workbook;
    var worksheet = workbook.Worksheets.Add("Sheet1");
    worksheet.Cells.LoadFromDataTable(datatable, true);
    //Assume some data range
    var chart = worksheet.Drawings.AddChart("chart test", eChartType.Area);
    var series = chart.Series.Add(worksheet.Cells["B2:B11"], worksheet.Cells["A2:A11"]);
    //Get reference to the worksheet xml for proper namespace
    var chartXml = chart.ChartXml;
    var nsuri = chartXml.DocumentElement.NamespaceURI;
    var nsm = new XmlNamespaceManager(chartXml.NameTable);
    nsm.AddNamespace("default", nsuri);
    //Add the table node
    var plotAreaNode = chartXml.SelectSingleNode("/default:chartSpace/default:chart/default:plotArea", nsm);
    var dTableNode = chartXml.CreateNode(XmlNodeType.Element, "dTable", nsuri);
    plotAreaNode.AppendChild(dTableNode);
    //With Legend Flag
    var att = chartXml.CreateAttribute("val");
    att.Value = "1";
    var showKeysNode = chartXml.CreateNode(XmlNodeType.Element, "showKeys", nsuri);
    showKeysNode.Attributes.Append(att);
    dTableNode.AppendChild(showKeysNode);
    pck.Save();
}

尝试:

chart.PlotArea.CreateDataTable();
chart.PlotArea.DataTable.ShowKeys = true;
chart.PlotArea.DataTable.Font.Size = 8;
//etc...

相关内容

  • 没有找到相关文章

最新更新