How to set rounded corner for chart in Excel document?

24 Jun 20265 minutes to read

The following code snippet shows how to set rounded corner for chart in Excel document.

using (ExcelEngine excelEngine = new ExcelEngine())
{
    IApplication application = excelEngine.Excel;
    application.DefaultVersion = ExcelVersion.Xlsx;
    IWorkbook workbook = application.Workbooks.Create(1);
    IWorksheet sheet = workbook.Worksheets[0];

    object[] xValues = new object[] { "Total Income", "Expenses", "Profit" };
    object[] yValues = new object[] { 2000, 1000, 1500 };

    //Adding series and values
    IChartShape chart = sheet.Charts.Add();
    IChartSerie serie = chart.Series.Add(ExcelChartType.Column_Clustered);

    //set the rounded border for the chart
    chart.ChartArea.IsBorderCornersRound = true;

    //sets the top row of the chart
    chart.TopRow = 5;
    chart.BottomRow = 20;
    chart.LeftColumn = 5;
    chart.RightColumn = 13;

    //Enters the X and Y values directly
    serie.EnteredDirectlyValues = yValues;
    serie.EnteredDirectlyCategoryLabels = xValues;

    //Saving the workbook 
    workbook.SaveAs("Chart.xlsx");
}
using (ExcelEngine excelEngine = new ExcelEngine())
{
    IApplication application = excelEngine.Excel;
    application.DefaultVersion = ExcelVersion.Xlsx;
    IWorkbook workbook = application.Workbooks.Create(1);
    IWorksheet sheet = workbook.Worksheets[0];

    object[] xValues = new object[] { "Total Income", "Expenses", "Profit" };
    object[] yValues = new object[] { 2000, 1000, 1500 };

    //Adding series and values
    IChartShape chart = sheet.Charts.Add();
    IChartSerie serie = chart.Series.Add(ExcelChartType.Column_Clustered);

    //set the rounded border for the chart
    chart.ChartArea.IsBorderCornersRound = true;

    //sets the top row of the chart
    chart.TopRow = 5;
    chart.BottomRow = 20;
    chart.LeftColumn = 5;
    chart.RightColumn = 13;

    //Enters the X and Y values directly
    serie.EnteredDirectlyValues = yValues;
    serie.EnteredDirectlyCategoryLabels = xValues;

    //Saving the workbook
    workbook.SaveAs("Chart.xlsx");
    stream.Dispose();
}
Using excelEngine As ExcelEngine = 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)

    Dim xValues As Object() = New Object() {"Total Income", "Expenses", "Profit"}
    Dim yValues As Object() = New Object() {2000, 1000, 1000}

    'Adding series And values
    Dim chart As IChartShape = sheet.Charts.Add()
    Dim serie As IChartSerie = chart.Series.Add(ExcelChartType.Column_Clustered)

    'set the rounded border for the chart
    chart.ChartArea.IsBorderCornersRound = True

    'sets the top row of the chart
    chart.TopRow = 5
    chart.BottomRow = 20
    chart.LeftColumn = 5
    chart.RightColumn = 13

    'Enters the X And Y values directly
    serie.EnteredDirectlyValues = yValues
    serie.EnteredDirectlyCategoryLabels = xValues

    'Saving the workbook as stream
    Dim Stream As FileStream = New FileStream("Chart.xlsx", FileMode.Create, FileAccess.ReadWrite)
    workbook.SaveAs(Stream)
    Stream.Dispose()
End Using

See Also