-->

Format Excel Chart Background using C#

2019-07-27 09:32发布

问题:

I can already populate the data into the spreadsheet, create the chart based on the range I select. However, when it comes to formatting the actual chart I feel a bit lost as their are so many options!!

It is an xlCylinderBarStacked type chart. I simply need to make the color of the bars a nice light orange and make the background a light blue fading into white at the bottom.

Any idea's how to do this?

回答1:

Just to close this question off. I played around a little with the properties and the following achieved the gradient effect on the background of the chart.

xlChart.Interior.Color = ColorTranslator.ToOle(Color.LightSkyBlue);
chart.ChartArea.Fill.TwoColorGradient(
       Microsoft.Office.Core.MsoGradientStyle.msoGradientHorizontal, 
       1);


回答2:

One good trick with Excel and other VBA-enabled apps is to manually create the formatting/content you require using the Excel GUI, whist recording a 'macro'. Once this is done you can then inspect the generated VBA to see how to use the API to acheive the same results programmatically. You will of course have to do some translation from VBA to C# but essentially the same methods should work.