We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on: November 16, 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to create Excel 3D clustered bar chart in C#, VB.NET?

Platform: WinForms |
Control: XlsIO |
Published Date: January 31, 2018 |
Last Revised Date: April 23, 2019

This article explains how to create 3D clustered bar chart in Excel using Syncfusion Excel (XlsIO) library.

What is 3D clustered bar chart?

A 3D clustered bar chart plots the data in discrete horizontal rectangles.

Create 3D Clustered Bar Chart in Excel

3D Clustered Bar Chart

To create a 3D clustered bar chart in Excel using XlsIO, you need to do the following steps.

Steps to create 3D clustered bar chart:

Step 1: Initialize chart

Create a chart object by calling the worksheet.Charts.Add method and specify the chart type to ExcelChartType.Bar_Clustered_3D enum value.

C#

            //Create the chart
            IChartShape chart = worksheet.Charts.Add();
 
            //Set chart type to Bar_Clustered_3D
            chart.ChartType = ExcelChartType.Bar_Clustered_3D;

 

Step 2: Assign data

Set a range of data from the worksheet to chart’s DataRange property. To plot the series values in column and categories in row, set chart’s IsSeriesInRows property to false.

C#

            //Set region of Chart data
            chart.DataRange = worksheet["A1:D6"];
 
            //Set chart series in column for assigned data region
            chart.IsSeriesInRows = false;

 

Step 3: Apply basic chart elements

Add the basic elements like chart title and legend.

  • ChartTitle of chart object.
  • Set TRUE to chart’s HasLegend property, to show the legend.

C#

              //Apply chart elements
              //Set Chart Title
              chart.ChartTitle = "3D Clustered Bar Chart";
 
              //Set Legend
              chart.HasLegend = true;
              chart.Legend.Position = ExcelLegendPosition.Bottom;
 

 

Step 4: Apply 3D chart elements

Add the 3D chart elements like Rotation and Elevation.

  • Rotation and Elevation of chart object.

C#

              //Set Rotation and Elevation
              chart.Rotation = 90;
              chart.Elevation = 90;

 

Applicable properties for 3D clustered bar chart

Below is the list of other common properties applicable for 3D column/bar chart.

  1. GapWidth
  2. GapDepth
  3. BarShapeBase & BarShapeTop (to change the shape of the 3D column / bar)
  4. IsVaryColor
Note:

Applying properties apart from the mentioned list might throw exception or the changes will not be reflected in the output document because those properties are not related to column/bar chart.

Download Complete Sample

Download input file with data

To know more about creating charts with various settings using Syncfusion Excel (XlsIO) library, please refer the documentation.

The following C#/ VB.NET complete code snippet shows the creation of 3D clustered bar chart using XlsIO.

C#

using Syncfusion.XlsIO;
using System.Reflection;
using System.IO;
 
namespace ChartSample
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ExcelEngine excelEngine = new ExcelEngine())
            {
                IApplication application = excelEngine.Excel;
                application.DefaultVersion = ExcelVersion.Excel2016;
 
                //Open existing workbook with data entered
                Assembly assembly = typeof(Program).GetTypeInfo().Assembly;
                Stream fileStream = assembly.GetManifestResourceStream("ChartSample.InputTemplate.xlsx");
                IWorkbook workbook = application.Workbooks.Open(fileStream);
                IWorksheet worksheet = workbook.Worksheets[0];
 
                //Initialize chart
                IChartShape chart = worksheet.Charts.Add();
                chart.ChartType = ExcelChartType.Bar_Clustered_3D;
 
                //Assign data
                chart.DataRange = worksheet["A1:D6"];
                chart.IsSeriesInRows = false;
 
                //Apply chart elements
                //Set Chart Title
                chart.ChartTitle = "3D Clustered Bar Chart";
 
                //Set Legend
                chart.HasLegend = true;
                chart.Legend.Position = ExcelLegendPosition.Bottom;
 
                //Set Rotation and Elevation
                chart.Rotation = 90;
                chart.Elevation = 90;
 
                //Positioning the chart in the worksheet
                chart.TopRow = 8;
                chart.LeftColumn = 1;
                chart.BottomRow = 23;
                chart.RightColumn = 8;
 
                //Saving and closing the workbook
                Stream stream = File.Create("Output.xlsx");
                workbook.SaveAs(stream);
            }
        }
    }
}

 

VB.NET

Imports Syncfusion.XlsIO
Imports System.Reflection
Imports System.IO
 
Namespace ChartSample
 
    Class Program
 
        Public Shared Sub Main(ByVal args As String())
            Using excelEngine As ExcelEngine = New ExcelEngine()
                Dim application As IApplication = excelEngine.Excel
                application.DefaultVersion = ExcelVersion.Excel2016
 
 
                'Open existing workbook with data entered
                Dim assembly As Assembly = GetType(Program).GetTypeInfo().Assembly
                Dim fileStream As Stream = assembly.GetManifestResourceStream("ChartSample.InputTemplate.xlsx")
                Dim workbook As IWorkbook = application.Workbooks.Open(fileStream)
                Dim worksheet As IWorksheet = workbook.Worksheets(0)
 
                'Initialize chart
                Dim chart As IChartShape = worksheet.Charts.Add()
                chart.ChartType = ExcelChartType.Bar_Clustered_3D
 
                'Assign data
                chart.DataRange = worksheet("A1:D6")
                chart.IsSeriesInRows = False
 
                'Apply chart elements
                'Set Chart Title
                chart.ChartTitle = "3D Clustered Bar Chart"
 
                'Set Legend
                chart.HasLegend = True
                chart.Legend.Position = ExcelLegendPosition.Bottom
 
                'Set Rotation and Elevation
                chart.Rotation = 90;
                chart.Elevation = 90;
 
                'Positioning chart in the worksheet
                chart.TopRow = 8
                chart.LeftColumn = 1
                chart.BottomRow = 23
                chart.RightColumn = 8
 
                'Saving and closing the workbook
                Dim stream As Stream = File.Create("Output.xlsx")
                workbook.SaveAs(stream)
            End Using
        End Sub
    End Class
End Namespace

2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon