@@ -11,7 +11,7 @@ documentation: UG
1111The examples below show how to assign custom colors to each data point in a Sunburst chart with Syncfusion XlsIO. Code is provided for C# (cross-platform and Windows-specific) and VB.NET.
1212
1313{% tabs %}
14- {% highlight c# tabtitle="C# [ Cross-platform] "
14+ {% highlight c# tabtitle="C# [ Cross-platform] " %}
1515{% endhighlight %}
1616using (ExcelEngine excelEngine = new ExcelEngine())
1717{
@@ -32,28 +32,28 @@ using (ExcelEngine excelEngine = new ExcelEngine())
3232 //Set Chart Title
3333 chart.ChartTitle = "Transfer Summary";
3434
35- //Set Datalabels
36- IChartSerie serie1 = chart.Series[0];
37- serie1 .DataPoints.DefaultDataPoint.DataLabels.IsCategoryName = false;
38- serie1 .DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
39-
40- Color[] seriecolor = new Color[12];
41- seriecolor [0] = Color.FromArgb(253, 182, 33);
42- seriecolor [1] = Color.FromArgb(18, 151, 243);
43- seriecolor [2] = Color.FromArgb(38, 7, 142);
44- seriecolor [3] = Color.FromArgb(5, 60, 122);
45- seriecolor [4] = Color.FromArgb(180, 70, 243);
46- seriecolor [5] = Color.FromArgb(53, 12, 133);
47- seriecolor [6] = Color.FromArgb(108, 11, 23);
48- seriecolor [7] = Color.FromArgb(200, 70, 112);
49- seriecolor [8] = Color.FromArgb(125, 200, 12);
50- seriecolor [9] = Color.FromArgb(10, 150, 43);
51- seriecolor [10] = Color.FromArgb(150, 82, 133);
52- seriecolor [11] = Color.FromArgb(98, 15, 103);
53-
54- for (int i = 0; i < (serie1 as ChartSerieImpl).PointNumber; i++)
35+ //Set Data labels
36+ IChartSerie series = chart.Series[0];
37+ series .DataPoints.DefaultDataPoint.DataLabels.IsCategoryName = false;
38+ series .DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
39+
40+ Color[] seriescolor = new Color[12];
41+ seriescolor [0] = Color.FromArgb(253, 182, 33);
42+ seriescolor [1] = Color.FromArgb(18, 151, 243);
43+ seriescolor [2] = Color.FromArgb(38, 7, 142);
44+ seriescolor [3] = Color.FromArgb(5, 60, 122);
45+ seriescolor [4] = Color.FromArgb(180, 70, 243);
46+ seriescolor [5] = Color.FromArgb(53, 12, 133);
47+ seriescolor [6] = Color.FromArgb(108, 11, 23);
48+ seriescolor [7] = Color.FromArgb(200, 70, 112);
49+ seriescolor [8] = Color.FromArgb(125, 200, 12);
50+ seriescolor [9] = Color.FromArgb(10, 150, 43);
51+ seriescolor [10] = Color.FromArgb(150, 82, 133);
52+ seriescolor [11] = Color.FromArgb(98, 15, 103);
53+
54+ for (int i = 0; i < (series as ChartSerieImpl).PointNumber; i++)
5555 {
56- serie1 .DataPoints[i].DataFormat.AreaProperties.ForegroundColor = seriecolor [i];
56+ series .DataPoints[i].DataFormat.AreaProperties.ForegroundColor = seriescolor [i];
5757 }
5858
5959 //Set Legend
@@ -69,120 +69,117 @@ using (ExcelEngine excelEngine = new ExcelEngine())
6969 workbook.SaveAs("../../../Output/SunBurst.xlsx");
7070}
7171{% highlight c# tabtitle="C# [ Windows-specific] " %}
72- using (ExcelEngine excelEngine = new ExcelEngine())
73- {
74- IApplication application = excelEngine.Excel;
75- application.DefaultVersion = ExcelVersion.Xlsx;
76- IWorkbook workbook = application.Workbooks.Open("../../Data/Input.xlsx");
77- IWorksheet worksheet = workbook.Worksheets[ 0] ;
78-
79- //Initialize chart
80- IChartShape chart = worksheet.Charts.Add();
81- chart.ChartType = ExcelChartType.SunBurst;
82-
83- //Assign data
84- chart.DataRange = worksheet["A1:B13"];
85- chart.IsSeriesInRows = false;
86-
87- //Apply chart elements
88- //Set Chart Title
89- chart.ChartTitle = "Transfer Summary";
90-
91- //Set Datalabels
92- IChartSerie serie1 = chart.Series[0];
93- serie1 .DataPoints.DefaultDataPoint.DataLabels.IsCategoryName = false;
94- serie1 .DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
95-
96- Color[] seriecolor = new Color[12];
97- seriecolor [0] = Color.FromArgb(253, 182, 33);
98- seriecolor [1] = Color.FromArgb(18, 151, 243);
99- seriecolor [2] = Color.FromArgb(38, 7, 142);
100- seriecolor [3] = Color.FromArgb(5, 60, 122);
101- seriecolor [4] = Color.FromArgb(180, 70, 243);
102- seriecolor [5] = Color.FromArgb(53, 12, 133);
103- seriecolor [6] = Color.FromArgb(108, 11, 23);
104- seriecolor [7] = Color.FromArgb(200, 70, 112);
105- seriecolor [8] = Color.FromArgb(125, 200, 12);
106- seriecolor [9] = Color.FromArgb(10, 150, 43);
107- seriecolor [10] = Color.FromArgb(150, 82, 133);
108- seriecolor [11] = Color.FromArgb(98, 15, 103);
109-
110- for (int i = 0; i < (serie1 as ChartSerieImpl).PointNumber; i++)
111- {
112- serie1 .DataPoints[i].DataFormat.AreaProperties.ForegroundColor = seriecolor [i];
113- }
114-
115- //Set Legend
116- chart.HasLegend = true;
117-
118- //Positioning the chart in the worksheet
119- chart.TopRow = 8;
120- chart.LeftColumn = 1;
121- chart.BottomRow = 23;
122- chart.RightColumn = 8;
123-
124- //Saving and closing the workbook
125- workbook.SaveAs("../../Output/SunBurst.xlsx");
126- }
72+ using (ExcelEngine excelEngine = new ExcelEngine())
73+ {
74+ IApplication application = excelEngine.Excel;
75+ application.DefaultVersion = ExcelVersion.Xlsx;
76+ IWorkbook workbook = application.Workbooks.Open("../../Data/Input.xlsx");
77+ IWorksheet worksheet = workbook.Worksheets[ 0] ;
78+
79+ //Initialize chart
80+ IChartShape chart = worksheet.Charts.Add();
81+ chart.ChartType = ExcelChartType.SunBurst;
82+
83+ //Assign data
84+ chart.DataRange = worksheet["A1:B13"];
85+ chart.IsSeriesInRows = false;
86+
87+ //Apply chart elements
88+ //Set Chart Title
89+ chart.ChartTitle = "Transfer Summary";
90+
91+ //Set Data labels
92+ IChartSerie series = chart.Series[0];
93+ series .DataPoints.DefaultDataPoint.DataLabels.IsCategoryName = false;
94+ series .DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
95+
96+ Color[] seriescolor = new Color[12];
97+ seriescolor [0] = Color.FromArgb(253, 182, 33);
98+ seriescolor [1] = Color.FromArgb(18, 151, 243);
99+ seriescolor [2] = Color.FromArgb(38, 7, 142);
100+ seriescolor [3] = Color.FromArgb(5, 60, 122);
101+ seriescolor [4] = Color.FromArgb(180, 70, 243);
102+ seriescolor [5] = Color.FromArgb(53, 12, 133);
103+ seriescolor [6] = Color.FromArgb(108, 11, 23);
104+ seriescolor [7] = Color.FromArgb(200, 70, 112);
105+ seriescolor [8] = Color.FromArgb(125, 200, 12);
106+ seriescolor [9] = Color.FromArgb(10, 150, 43);
107+ seriescolor [10] = Color.FromArgb(150, 82, 133);
108+ seriescolor [11] = Color.FromArgb(98, 15, 103);
109+
110+ for (int i = 0; i < (series as ChartSerieImpl).PointNumber; i++)
111+ {
112+ series .DataPoints[i].DataFormat.AreaProperties.ForegroundColor = seriescolor [i];
113+ }
114+
115+ //Set Legend
116+ chart.HasLegend = true;
117+
118+ //Positioning the chart in the worksheet
119+ chart.TopRow = 8;
120+ chart.LeftColumn = 1;
121+ chart.BottomRow = 23;
122+ chart.RightColumn = 8;
123+
124+ //Saving the workbook
125+ workbook.SaveAs("../../Output/SunBurst.xlsx");
126+ }
127127{% endhighlight %}
128128
129129{% highlight vb.net tabtitle="VB.NET [ Windows-specific] " %}
130130Using excelEngine As New ExcelEngine()
131-
132131 Dim application As IApplication = excelEngine.Excel
133132 application.DefaultVersion = ExcelVersion.Xlsx
134133
135- 'Open existing workbook with data
136134 Dim workbook As IWorkbook = application.Workbooks.Open("../../Data/Input.xlsx")
137135 Dim worksheet As IWorksheet = workbook.Worksheets(0)
138136
139- 'Create and configure Sunburst chart
137+ 'Initialize chart
140138 Dim chart As IChartShape = worksheet.Charts.Add()
141139 chart.ChartType = ExcelChartType.SunBurst
142140
143141 'Assign data
144142 chart.DataRange = worksheet("A1:B13")
145143 chart.IsSeriesInRows = False
146144
147- 'Chart Title
145+ 'Apply chart elements
146+ 'Set Chart Title
148147 chart.ChartTitle = "Transfer Summary"
149148
150- 'Data labels (show value only)
151- Dim serie1 As IChartSerie = chart.Series(0)
152- serie1.DataPoints.DefaultDataPoint.DataLabels.IsCategoryName = False
153- serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = True
154-
155- 'Custom colors for each data point
156- Dim serieColor(11) As Color
157- serieColor(0) = Color.FromArgb(253, 182, 33)
158- serieColor(1) = Color.FromArgb(18, 151, 243)
159- serieColor(2) = Color.FromArgb(38, 7, 142)
160- serieColor(3) = Color.FromArgb(5, 60, 122)
161- serieColor(4) = Color.FromArgb(180, 70, 243)
162- serieColor(5) = Color.FromArgb(53, 12, 133)
163- serieColor(6) = Color.FromArgb(108, 11, 23)
164- serieColor(7) = Color.FromArgb(200, 70, 112)
165- serieColor(8) = Color.FromArgb(125, 200, 12)
166- serieColor(9) = Color.FromArgb(10, 150, 43)
167- serieColor(10) = Color.FromArgb(150, 82, 133)
168- serieColor(11) = Color.FromArgb(98, 15, 103)
169-
170- For i As Integer = 0 To CType(serie1, ChartSerieImpl).PointNumber - 1
171- serie1.DataPoints(i).DataFormat.AreaProperties.ForegroundColor = serieColor(i)
149+ 'Set Data labels
150+ Dim series As IChartSerie = chart.Series(0)
151+ series.DataPoints.DefaultDataPoint.DataLabels.IsCategoryName = False
152+ series.DataPoints.DefaultDataPoint.DataLabels.IsValue = True
153+
154+ Dim seriescolor(11) As Color
155+ seriescolor(0) = Color.FromArgb(253, 182, 33)
156+ seriescolor(1) = Color.FromArgb(18, 151, 243)
157+ seriescolor(2) = Color.FromArgb(38, 7, 142)
158+ seriescolor(3) = Color.FromArgb(5, 60, 122)
159+ seriescolor(4) = Color.FromArgb(180, 70, 243)
160+ seriescolor(5) = Color.FromArgb(53, 12, 133)
161+ seriescolor(6) = Color.FromArgb(108, 11, 23)
162+ seriescolor(7) = Color.FromArgb(200, 70, 112)
163+ seriescolor(8) = Color.FromArgb(125, 200, 12)
164+ seriescolor(9) = Color.FromArgb(10, 150, 43)
165+ seriescolor(10) = Color.FromArgb(150, 82, 133)
166+ seriescolor(11) = Color.FromArgb(98, 15, 103)
167+
168+ For i As Integer = 0 To CType(series, ChartSerieImpl).PointNumber - 1
169+ series.DataPoints(i).DataFormat.AreaProperties.ForegroundColor = seriescolor(i)
172170 Next
173171
174- 'Legend
172+ 'Set Legend
175173 chart.HasLegend = True
176174
177- 'Position the chart in the worksheet
175+ 'Positioning the chart in the worksheet
178176 chart.TopRow = 8
179177 chart.LeftColumn = 1
180178 chart.BottomRow = 23
181179 chart.RightColumn = 8
182180
183- 'Save and close
181+ 'Saving and closing the workbook
184182 workbook.SaveAs("../../Output/SunBurst.xlsx")
185-
186183End Using
187184{% endhighlight %}
188185{% endtabs %}
0 commit comments