如何使用EPPlus将excel条形图上的数据标签更改为内部基础?

我有一个使用EPPlus创build的ExcelBarChart。

我试图将数据标签的位置更改为Inside Base,但是当我查看ExcelBarChart对象时,我看到一个ExcelChartDataLabel属性,并在其内部有一个名为eLabelPosition的属性。

eLabelPosition被保护,但无法访问。

使用EPPlus设置数据标签位置的正确方法是什么?

请参阅下面的相关代码:

 var chart = (ExcelBarChart)chartWorksheet.Drawings.AddChart("changesVisualized", eChartType.ColumnClustered); chart.SetSize(1000, 500); chart.SetPosition(0,0); chart.Title.Text = row.Name + "Volume " + date1.ToString("MM/dd/yyyy") + " - " + date2.ToString("MM/dd/yyyy"); chart.DataLabel.ShowValue = true; var thisYearSeries = (ExcelChartSerie)(chart.Series.Add(worksheet.Cells["B4,D4,F4,H4,J4"], worksheet.Cells["B3,D3,F3,H3,J3"])); thisYearSeries.Header = "This Year's Volume"; var lastYearSeries = (ExcelChartSerie)(chart.Series.Add(chartWorksheet.Cells["A1,B1,C1,D1,E1"], worksheet.Cells["B3,D3,F3,H3,J3"])); lastYearSeries.Header = "Last Year's Volume"; 

你可以做这样的事情:

 var barChart = worksheet.Drawings.AddChart("Chart1", eChartType.ColumnClustered); barChart.SetPosition(data.Count + 1, 0, 0, 0); barChart.Title.Text = "Test Chart"; barChart.Title.Font.Bold = true; barChart.Title.Font.Size = 12; var serie = barChart.Series.Add(worksheet.Cells[2, 2, data.Count + 1, 2], worksheet.Cells[2, 1, data.Count + 1, 1]); var barSeries = (ExcelBarChartSerie)serie; barSeries.DataLabel.Font.Bold = true; barSeries.DataLabel.ShowValue = true; barSeries.DataLabel.ShowPercent = true; barSeries.DataLabel.ShowLeaderLines = true; barSeries.DataLabel.Separator = ";"; barSeries.DataLabel.Position = eLabelPosition.InBase; 

从我的例子改编:

如何使用EPPLus修改图表系列?