EPPlus – 如何在透视图中添加“系列行”(ColumnStacked)

我正在使用EPPlus库在Excel中生成数据透视表。 我创build了图表,但不知道如何添加“系列行”。 下图中的箭头表示系列线。

图表 – 系列行

这里是示例代码。

var wsBar = pck.Workbook.Worksheets.Add("Bar"); --dataRange = Data from "Data" worksheet. var pivotTable1 = wsBar.PivotTables.Add(wsBar.Cells["Z100"], dataRange, "pivotTable1"); var dataFieldBar1 = pivotTable1.DataFields.Add(pivotTable1.Fields[22]); dataFieldBar1.Format = "$ #,###.00"; pivotTable1.DataOnRows = true; pivotTable1.RowFields.Add(pivotTable1.Fields[15]); pivotTable1.ColumnFields.Add(pivotTable1.Fields[12]); pivotTable1.PageFields.Add(pivotTable1.Fields[7]); var columnchart = wsBar.Drawings.AddChart("ColumnChart", eChartType.ColumnStacked, pivotTable1); columnchart.SetPosition(0, 0, 0, 0); columnchart.SetSize(600, 300); 

任何帮助,高度赞赏。

不要认为EPPlus有这样的select,所以这将是某种没有另一个库的XML操作:

 var chartXml = columnchart.ChartXml; var nsm = new XmlNamespaceManager(chartXml.NameTable); var nsuri = chartXml.DocumentElement.NamespaceURI; nsm.AddNamespace("c", nsuri); var serNode = chartXml.SelectSingleNode("c:chartSpace/c:chart/c:plotArea/c:barChart", nsm); var serLinesNode = chartXml.CreateNode(XmlNodeType.Element, "serLines", nsuri); serNode.AppendChild(serLinesNode);