How can I help you?
How to show the leader line on Excel chart?
24 Jun 20267 minutes to read
The following code snippets demonstrate how to show the leader line on Excel chart using C# (cross-platform and Windows-specific) and VB.NET.
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
IWorkbook workbook = application.Workbooks.Create(1);
IWorksheet sheet = workbook.Worksheets[0];
//Add data
sheet.Range["A1"].Text = "Fruit";
sheet.Range["B1"].Text = "Quantity";
sheet.Range["A2"].Text = "Apple";
sheet.Range["A3"].Text = "Banana";
sheet.Range["A4"].Text = "Cherry";
sheet.Range["B2"].Number = 40;
sheet.Range["B3"].Number = 30;
sheet.Range["B4"].Number = 30;
//Add a Pie chart
IChart chart = sheet.Charts.Add();
chart.ChartType = ExcelChartType.Pie;
chart.DataRange = sheet.Range["A1:B4"];
chart.IsSeriesInRows = false;
chart.ChartTitle = "Fruit Distribution";
//Enable data labels with values and leader lines
IChartSerie series = chart.Series[0];
series.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
series.DataPoints.DefaultDataPoint.DataLabels.ShowLeaderLines = true;
//Manually resizing data label area using Manual Layout
chart.Series[0].DataPoints[0].DataLabels.Layout.ManualLayout.Left = 0.09;
chart.Series[0].DataPoints[0].DataLabels.Layout.ManualLayout.Top = 0.01;
#region Save
//Saving the workbook
workbook.SaveAs("Output.xlsx");
#endregion
}using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
IWorkbook workbook = application.Workbooks.Create(1);
IWorksheet sheet = workbook.Worksheets[0];
//Add data
sheet.Range["A1"].Text = "Fruit";
sheet.Range["B1"].Text = "Quantity";
sheet.Range["A2"].Text = "Apple";
sheet.Range["A3"].Text = "Banana";
sheet.Range["A4"].Text = "Cherry";
sheet.Range["B2"].Number = 40;
sheet.Range["B3"].Number = 30;
sheet.Range["B4"].Number = 30;
//Add a Pie chart
IChart chart = sheet.Charts.Add();
chart.ChartType = ExcelChartType.Pie;
chart.DataRange = sheet.Range["A1:B4"];
chart.IsSeriesInRows = false;
chart.ChartTitle = "Fruit Distribution";
//Enable data labels with values and leader lines
IChartSerie series = chart.Series[0];
series.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
series.DataPoints.DefaultDataPoint.DataLabels.ShowLeaderLines = true;
//Manually resizing data label area using Manual Layout
chart.Series[0].DataPoints[0].DataLabels.Layout.ManualLayout.Left = 0.09;
chart.Series[0].DataPoints[0].DataLabels.Layout.ManualLayout.Top = 0.01;
//Saving the workbook
workbook.SaveAs("Output.xlsx");
}Using excelEngine As New ExcelEngine()
Dim application As IApplication = excelEngine.Excel
application.DefaultVersion = ExcelVersion.Xlsx
Dim workbook As IWorkbook = application.Workbooks.Create(1)
Dim sheet As IWorksheet = workbook.Worksheets(0)
'Add data
sheet.Range("A1").Text = "Fruit"
sheet.Range("B1").Text = "Quantity"
sheet.Range("A2").Text = "Apple"
sheet.Range("A3").Text = "Banana"
sheet.Range("A4").Text = "Cherry"
sheet.Range("B2").Number = 40
sheet.Range("B3").Number = 30
sheet.Range("B4").Number = 30
'Add a Pie chart
Dim chart As IChart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.Pie
chart.DataRange = sheet.Range("A1:B4")
chart.IsSeriesInRows = False
chart.ChartTitle = "Fruit Distribution"
'Enable data labels and leader lines
Dim series As IChartSerie = chart.Series(0)
series.DataPoints.DefaultDataPoint.DataLabels.IsValue = True
series.DataPoints.DefaultDataPoint.DataLabels.ShowLeaderLines = True
'Manually resizing data label area using Manual Layout
series.DataPoints(0).DataLabels.Layout.ManualLayout.Left = 0.09
series.DataPoints(0).DataLabels.Layout.ManualLayout.Top = 0.01
'Saving the workbook
workbook.SaveAs("Output.xlsx")
End UsingA complete working example to show the leader line on Excel chart using XlsIO is available on this GitHub page.