@@ -2110,6 +2110,216 @@ End Using
21102110
21112111A complete working example to fill chart area with picture in C# is present on [ this GitHub page] ( https://github.com/SyncfusionExamples/XlsIO-Examples/tree/master/Create%20and%20Edit%20Charts/Picture%20in%20Chart%20Area ) .
21122112
2113+ ## Gradient Fill
2114+
2115+ A gradient fill in a chart refers to the application of a smooth transition of colors across a chart element. Instead of a solid color, a gradient fill gradually blends one color into another, creating a visually appealing effect.
2116+
2117+ The following code example explains how to apply gradient fill in the chart data series.
2118+
2119+ {% tabs %}
2120+ {% highlight c# tabtitle="C# [ Cross-platform] " %}
2121+ using (ExcelEngine excelEngine = new ExcelEngine())
2122+ {
2123+ IApplication application = excelEngine.Excel;
2124+ application.DefaultVersion = ExcelVersion.Xlsx;
2125+ FileStream inputStream = new FileStream("../../../Data/InputTemplate.xlsx", FileMode.Open, FileAccess.Read);
2126+ IWorkbook workbook = application.Workbooks.Open(inputStream, ExcelOpenType.Automatic);
2127+ IWorksheet sheet = workbook.Worksheets[ 0] ;
2128+
2129+ //Create a Chart
2130+ IChartShape chart = sheet.Charts.Add();
2131+
2132+ //Set Chart Type
2133+ chart.ChartType = ExcelChartType.Column_Clustered;
2134+
2135+ //Set data range in the worksheet
2136+ chart.DataRange = sheet.Range[ "A1: C6 "] ;
2137+ chart.IsSeriesInRows = false;
2138+
2139+ //Get Serie
2140+ IChartSerie serie1 = chart.Series[ 0] ;
2141+ IChartSerie serie2 = chart.Series[ 1] ;
2142+
2143+ //Set Datalabels
2144+ serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
2145+ serie2.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
2146+ serie1.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside;
2147+ serie2.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside;
2148+
2149+ //Gradient fill for serie1
2150+ ChartFillImpl chartFillImpl1 = serie1.SerieFormat.Fill as ChartFillImpl;
2151+ chartFillImpl1.FillType = ExcelFillType.Gradient;
2152+ chartFillImpl1.GradientColorType = ExcelGradientColor.MultiColor;
2153+ serie1.SerieFormat.Fill.GradientStyle = ExcelGradientStyle.Horizontal;
2154+ GradientStopImpl gradientStopImpl1 = new GradientStopImpl(new ColorObject(Color.FromArgb(0, 176, 240)), 50000, 100000);
2155+ GradientStopImpl gradientStopImpl2 = new GradientStopImpl(new ColorObject(Color.FromArgb(0, 112, 192)), 70000, 100000);
2156+ chartFillImpl1.GradientStops.GradientType = GradientType.Liniar;
2157+ chartFillImpl1.GradientStops.Add(gradientStopImpl1);
2158+ chartFillImpl1.GradientStops.Add(gradientStopImpl2);
2159+
2160+ //Gradient fill for serie2
2161+ ChartFillImpl chartFillImpl2 = serie2.SerieFormat.Fill as ChartFillImpl;
2162+ chartFillImpl2.FillType = ExcelFillType.Gradient;
2163+ chartFillImpl2.GradientColorType = ExcelGradientColor.MultiColor;
2164+ serie2.SerieFormat.Fill.GradientStyle = ExcelGradientStyle.Horizontal;
2165+ GradientStopImpl gradientStopImpl3 = new GradientStopImpl(new ColorObject(Color.FromArgb(244, 177, 131)), 40000, 100000);
2166+ GradientStopImpl gradientStopImpl4 = new GradientStopImpl(new ColorObject(Color.FromArgb(255, 102, 0)), 70000, 100000);
2167+ chartFillImpl2.GradientStops.GradientType = GradientType.Liniar;
2168+ chartFillImpl2.GradientStops.Add(gradientStopImpl3);
2169+ chartFillImpl2.GradientStops.Add(gradientStopImpl4);
2170+
2171+ //Set Legend
2172+ chart.HasLegend = true;
2173+ chart.Legend.Position = ExcelLegendPosition.Bottom;
2174+
2175+ //Positioning the chart in the worksheet
2176+ chart.TopRow = 8;
2177+ chart.LeftColumn = 1;
2178+ chart.BottomRow = 23;
2179+ chart.RightColumn = 8;
2180+
2181+ //Saving the workbook
2182+ FileStream outputStream = new FileStream("Output.xlsx", FileMode.Create, FileAccess.Write);
2183+ workbook.SaveAs(outputStream);
2184+
2185+ //Dispose streams
2186+ outputStream.Dispose();
2187+ inputStream.Dispose();
2188+ }
2189+ {% endhighlight %}
2190+
2191+ {% highlight c# tabtitle="C# [ Windows-specific] " %}
2192+ using (ExcelEngine engine = new ExcelEngine())
2193+ {
2194+ IApplication application = engine.Excel;
2195+ application.DefaultVersion = ExcelVersion.Xlsx;
2196+ IWorkbook workbook = application.Workbooks.Open("../../Data/InputTemplate.xlsx");
2197+ IWorksheet sheet = workbook.Worksheets[ 0] ;
2198+
2199+ //Create a Chart
2200+ IChartShape chart = sheet.Charts.Add();
2201+
2202+ //Set Chart Type
2203+ chart.ChartType = ExcelChartType.Column_Clustered;
2204+
2205+ //Set data range in the worksheet
2206+ chart.DataRange = sheet.Range[ "A1: C6 "] ;
2207+ chart.IsSeriesInRows = false;
2208+
2209+ //Get Serie
2210+ IChartSerie serie1 = chart.Series[ 0] ;
2211+ IChartSerie serie2 = chart.Series[ 1] ;
2212+
2213+ //Set Datalabels
2214+ serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
2215+ serie2.DataPoints.DefaultDataPoint.DataLabels.IsValue = true;
2216+ serie1.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside;
2217+ serie2.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside;
2218+
2219+ //Gradient fill for serie1
2220+ ChartFillImpl chartFillImpl1 = serie1.SerieFormat.Fill as ChartFillImpl;
2221+ chartFillImpl1.FillType = ExcelFillType.Gradient;
2222+ chartFillImpl1.GradientColorType = ExcelGradientColor.MultiColor;
2223+ serie1.SerieFormat.Fill.GradientStyle = ExcelGradientStyle.Horizontal;
2224+ GradientStopImpl gradientStopImpl1 = new GradientStopImpl(new ColorObject(Color.FromArgb(0, 176, 240)), 50000, 100000);
2225+ GradientStopImpl gradientStopImpl2 = new GradientStopImpl(new ColorObject(Color.FromArgb(0, 112, 192)), 70000, 100000);
2226+ chartFillImpl1.GradientStops.GradientType = GradientType.Liniar;
2227+ chartFillImpl1.GradientStops.Add(gradientStopImpl1);
2228+ chartFillImpl1.GradientStops.Add(gradientStopImpl2);
2229+
2230+ //Gradient fill for serie2
2231+ ChartFillImpl chartFillImpl2 = serie2.SerieFormat.Fill as ChartFillImpl;
2232+ chartFillImpl2.FillType = ExcelFillType.Gradient;
2233+ chartFillImpl2.GradientColorType = ExcelGradientColor.MultiColor;
2234+ serie2.SerieFormat.Fill.GradientStyle = ExcelGradientStyle.Horizontal;
2235+ GradientStopImpl gradientStopImpl3 = new GradientStopImpl(new ColorObject(Color.FromArgb(244, 177, 131)), 40000, 100000);
2236+ GradientStopImpl gradientStopImpl4 = new GradientStopImpl(new ColorObject(Color.FromArgb(255, 102, 0)), 70000, 100000);
2237+ chartFillImpl2.GradientStops.GradientType = GradientType.Liniar;
2238+ chartFillImpl2.GradientStops.Add(gradientStopImpl3);
2239+ chartFillImpl2.GradientStops.Add(gradientStopImpl4);
2240+
2241+ //Set Legend
2242+ chart.HasLegend = true;
2243+ chart.Legend.Position = ExcelLegendPosition.Bottom;
2244+
2245+ //Positioning the chart in the worksheet
2246+ chart.TopRow = 8;
2247+ chart.LeftColumn = 1;
2248+ chart.BottomRow = 23;
2249+ chart.RightColumn = 8;
2250+
2251+ //Saving the workbook in xlsx format
2252+ workbook.SaveAs("Output.xlsx");
2253+ }
2254+ {% endhighlight %}
2255+
2256+ {% highlight vb.net tabtitle="VB.NET [ Windows-specific] " %}
2257+ Using engine As New ExcelEngine()
2258+ Dim application As IApplication = engine.Excel
2259+ application.DefaultVersion = ExcelVersion.Xlsx
2260+ Dim workbook As IWorkbook = application.Workbooks.Open("../../Data/InputTemplate.xlsx")
2261+ Dim sheet As IWorksheet = workbook.Worksheets(0)
2262+
2263+ 'Create a Chart
2264+ Dim chart As IChartShape = sheet.Charts.Add()
2265+
2266+ 'Set Chart Type
2267+ chart.ChartType = ExcelChartType.Column_Clustered
2268+
2269+ 'Set data range in the worksheet
2270+ chart.DataRange = sheet.Range("A1: C6 ")
2271+ chart.IsSeriesInRows = False
2272+
2273+ 'Get Serie
2274+ Dim serie1 As IChartSerie = chart.Series(0)
2275+ Dim serie2 As IChartSerie = chart.Series(1)
2276+
2277+ 'Set Datalabels
2278+ serie1.DataPoints.DefaultDataPoint.DataLabels.IsValue = True
2279+ serie2.DataPoints.DefaultDataPoint.DataLabels.IsValue = True
2280+ serie1.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside
2281+ serie2.DataPoints.DefaultDataPoint.DataLabels.Position = ExcelDataLabelPosition.Outside
2282+
2283+ 'Gradient fill for serie1
2284+ Dim chartFillImpl1 As ChartFillImpl = TryCast(serie1.SerieFormat.Fill, ChartFillImpl)
2285+ chartFillImpl1.FillType = ExcelFillType.Gradient
2286+ chartFillImpl1.GradientColorType = ExcelGradientColor.MultiColor
2287+ serie1.SerieFormat.Fill.GradientStyle = ExcelGradientStyle.Horizontal
2288+ Dim gradientStopImpl1 As New GradientStopImpl(New ColorObject(Color.FromArgb(0, 176, 240)), 50000, 100000)
2289+ Dim gradientStopImpl2 As New GradientStopImpl(New ColorObject(Color.FromArgb(0, 112, 192)), 70000, 100000)
2290+ chartFillImpl1.GradientStops.GradientType = GradientType.Liniar
2291+ chartFillImpl1.GradientStops.Add(gradientStopImpl1)
2292+ chartFillImpl1.GradientStops.Add(gradientStopImpl2)
2293+
2294+ 'Gradient fill for serie2
2295+ Dim chartFillImpl2 As ChartFillImpl = TryCast(serie2.SerieFormat.Fill, ChartFillImpl)
2296+ chartFillImpl2.FillType = ExcelFillType.Gradient
2297+ chartFillImpl2.GradientColorType = ExcelGradientColor.MultiColor
2298+ serie2.SerieFormat.Fill.GradientStyle = ExcelGradientStyle.Horizontal
2299+ Dim gradientStopImpl3 As New GradientStopImpl(New ColorObject(Color.FromArgb(244, 177, 131)), 40000, 100000)
2300+ Dim gradientStopImpl4 As New GradientStopImpl(New ColorObject(Color.FromArgb(255, 102, 0)), 70000, 100000)
2301+ chartFillImpl2.GradientStops.GradientType = GradientType.Liniar
2302+ chartFillImpl2.GradientStops.Add(gradientStopImpl3)
2303+ chartFillImpl2.GradientStops.Add(gradientStopImpl4)
2304+
2305+ 'Set Legend
2306+ chart.HasLegend = True
2307+ chart.Legend.Position = ExcelLegendPosition.Bottom
2308+
2309+ 'Positioning the chart in the worksheet
2310+ chart.TopRow = 8
2311+ chart.LeftColumn = 1
2312+ chart.BottomRow = 23
2313+ chart.RightColumn = 8
2314+
2315+ 'Saving the workbook in xlsx format
2316+ workbook.SaveAs("Output.xlsx")
2317+ End Using
2318+ {% endhighlight %}
2319+ {% endtabs %}
2320+
2321+ A complete working example for applying gradient fill in chart series in C# is present on [ this GitHub page] ( ) .
2322+
21132323## Applying 3D Formats
21142324
21152325The following code example explains how to apply 3D settings such as rotation, side wall, back wall, and floor settings.
0 commit comments