Syncfusion AI Assistant

How can I help you?

How to add Oval shape to Excel chart using XlsIO?

24 Jun 20264 minutes to read

The following code snippets illustrate how to add Oval shape to Excel chart in 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 worksheet = workbook.Worksheets[0];

    //Add chart to worksheet
    IChart chart = worksheet.Charts.Add();

    //Add oval shape to chart
    IShape shape = chart.Shapes.AddAutoShapes(AutoShapeType.Oval, 20, 60, 500, 400);

    //Format the shape
    shape.Line.ForeColorIndex = ExcelKnownColors.Red;

    //Add the text to the oval shape and set the text alignment on the shape
    shape.TextFrame.TextRange.Text = "This is an oval shape";
    shape.TextFrame.VerticalAlignment = ExcelVerticalAlignment.MiddleCentered;
    shape.TextFrame.HorizontalAlignment = ExcelHorizontalAlignment.CenterMiddle;

    #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 worksheet = workbook.Worksheets[0];

    //Add chart to worksheet
    IChart chart = worksheet.Charts.Add();

    //Add oval shape to chart
    IShape shape = chart.Shapes.AddAutoShapes(AutoShapeType.Oval, 20, 60, 500, 400);

    //Format the shape
    shape.Line.ForeColorIndex = ExcelKnownColors.Red;

    //Add the text to the oval shape and set the text alignment on the shape
    shape.TextFrame.TextRange.Text = "This is an oval shape";
    shape.TextFrame.VerticalAlignment = ExcelVerticalAlignment.MiddleCentered;
    shape.TextFrame.HorizontalAlignment = ExcelHorizontalAlignment.CenterMiddle;

    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 worksheet As IWorksheet = workbook.Worksheets(0)

    'Add chart to worksheet
    Dim chart As IChart = worksheet.Charts.Add()

    'Add oval shape to chart
    Dim shape As IShape = chart.Shapes.AddAutoShapes(AutoShapeType.Oval, 20, 60, 500, 400)

    'Format the shape
    shape.Line.ForeColorIndex = ExcelKnownColors.Red

    'Add the text to the oval shape and set the text alignment on the shape
    shape.TextFrame.TextRange.Text = "This is an oval shape"
    shape.TextFrame.VerticalAlignment = ExcelVerticalAlignment.MiddleCentered
    shape.TextFrame.HorizontalAlignment = ExcelHorizontalAlignment.CenterMiddle

    workbook.SaveAs("Output.xlsx")
End Using

A complete working example to add Oval shape to Excel chart using C# is present on this GitHub page.