填充背景色,一般可以选择多种不同样式来填充背景,包括填充为纯色背景、渐变背景、图片背景或者纹理背景等。下面的内容将分别介绍通过C#来设置Excel中图表背景色、以及图表中的图例背景色的方法。

使用工具Spire.XLS for .NET

dll引用:下载安装后,注意在程序中添加引用Spire.Xls.dll(dll文件在安装路径下的bin文件夹中获取)

【示例1】填充图表背景色

测试文档如下:

Step1:加载文档

//实例化Workbook类的对象Workbook workbook = newWorkbook();//加载测试文档workbook.LoadFromFile("sample.xlsx");

Step2:获取图表

//获取第一个工作表中的第一个图表Worksheet ws = workbook.Worksheets[1];Chart chart = ws.Charts[0];

Step3:填充图表背景色(纯色)

//设置图表的背景填充色(纯色) chart.ChartArea.Fill.ForeColor =Color.LightSkyBlue;////设置图表绘图区域的背景填充色(纯色)///chart.PlotArea.ForeGroundColor =System.Drawing.Color.LightYellow;

Step4:加载图片填充图表背景

//加载图片,填充整个图表区域chart.ChartArea.Fill.CustomPicture(Image.FromFile("tp.png"),"None");//设置绘图区域的图片填充的透明度chart.PlotArea.Fill.Transparency = 0.8;////加载图片,仅填充图表中的绘图区域//chart.PlotArea.Fill.CustomPicture(Image.FromFile("tp.png"),"None");

Step5:保存文档

workbook.SaveToFile("result.xlsx", ExcelVersion.Version2010);

纯色背景色设置效果:

1.填充整个图表

2.填充图表中的绘图区域

图片填充效果:

1.填充整个图表

2.填充图表中的绘图区域

 

全部代码:

usingSpire.Xls;usingSpire.Xls.Core.Spreadsheet.Charts;usingSystem.Drawing;namespaceFillChartWithImg_XLS{class Program { staticvoidMain(string[] args) { //实例化Workbook类的对象 Workbook workbook = newWorkbook();//加载测试文档workbook.LoadFromFile("sample.xlsx");//获取第一个工作表中的第一个图表 Worksheet ws = workbook.Worksheets[1]; Chart chart = ws.Charts[0];//设置图表的背景填充色(纯色) chart.ChartArea.Fill.ForeColor =Color.LightSkyBlue;//设置图表绘图区域的背景填充色(纯色)//chart.PlotArea.ForeGroundColor = System.Drawing.Color.LightYellow;//// 加载图片,填充整个图表区域//chart.ChartArea.Fill.CustomPicture(Image.FromFile("tp.png"),"None");////设置绘图区域的图片填充的透明度//chart.PlotArea.Fill.Transparency = 0.8;////加载图片,仅填充图表中的绘图区域//chart.PlotArea.Fill.CustomPicture(Image.FromFile("tp.png"),"None"); //保存文档workbook.SaveToFile("result3.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("result3.xlsx"); } }}
View Code

 

【示例2】填充图表中的图例背景色

测试图表:

Step1:加载文档

//实例化Workbook类的对象,并加载测试文档Workbook workbook = newWorkbook();workbook.LoadFromFile("test.xlsx");

Step2:获取图表

//获取工作表中的第一个图表Worksheet ws = workbook.Worksheets[0];Spire.Xls.Chart chart = ws.Charts[0];

Step3:单色填充图例背景

//填充图例背景色XlsChartFrameFormat x = chart.Legend.FrameFormat asXlsChartFrameFormat;//单色填充x.Fill.FillType =ShapeFillType.SolidColor;x.ForeGroundColor= Color.Gainsboro;

Step4:渐变色填充图例背景

//渐变色填充x.Fill.FillType =ShapeFillType.Gradient;x.ForeGroundColor=Color.AliceBlue;x.BackGroundColor= Color.Bisque;

Step5:纹理填充图例背景

//纹理填充x.Fill.FillType =ShapeFillType.Texture;x.Fill.Texture= GradientTextureType.Bouquet;

Step6:加载图片填充图例背景

//图片填充x.Fill.CustomPicture("img.png");

Step7:保存文档

workbook.SaveToFile("output.xlsx", ExcelVersion.Version2010);

图例背景色填充效果:

1.单色填充效果

2.渐变填充效果

3.纹理填充效果

 

4.图片填充效果

 

全部代码:

usingSpire.Xls;usingSpire.Xls.Charts;usingSpire.Xls.Core.Spreadsheet.Charts;usingSystem.Drawing;namespaceSetFontOfLegendInChart_XLS{class Program { staticvoidMain(string[] args) { //实例化Workbook类的对象,并加载测试文档 Workbook workbook = new Workbook(); workbook.LoadFromFile("test.xlsx");//获取工作表中的第一个图表 Worksheet ws = workbook.Worksheets[0]; Spire.Xls.Chart chart = ws.Charts[0];//填充图例背景色 XlsChartFrameFormat x = chart.Legend.FrameFormat asXlsChartFrameFormat;//单色填充 x.Fill.FillType = ShapeFillType.SolidColor; x.ForeGroundColor =Color.Gainsboro;////渐变色填充//x.Fill.FillType = ShapeFillType.Gradient; //x.ForeGroundColor = Color.AliceBlue; //x.BackGroundColor = Color.Bisque;////纹理填充//x.Fill.FillType = ShapeFillType.Texture; //x.Fill.Texture = GradientTextureType.Bouquet;////图片填充//x.Fill.CustomPicture("img.png");//保存文档workbook.SaveToFile("output.xlsx", ExcelVersion.Version2010); System.Diagnostics.Process.Start("output.xlsx"); } }}
View Code

 

更多Excel背景色填充的方法,可参考以下文章:

1.C# 设置Excel单元格背景色

2.C# 设置Excel表格图片背景

(本文完)

转载请注明出处!