加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C# 填充Excel图表、图例背景色

发布时间:2020-12-16 01:10:02 所属栏目:百科 来源:网络整理
导读:填充背景色,一般可以选择多种不同样式来填充背景,包括填充为纯色背景、渐变背景、图片背景或者纹理背景等。下面的内容将分别介绍通过C#来设置Excel中图表背景色、以及图表中的图例背景色的方法。 使用工具 :Spire.XLS for .NET dll引用:下载安装后,注意

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

使用工具:Spire.XLS for .NET

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

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

测试文档如下:

Step1:加载文档

//实例化Workbook类的对象
Workbook workbook = new Workbook();
加载测试文档
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.填充图表中的绘图区域

?

全部代码:

using Spire.Xls;
 Spire.Xls.Core.Spreadsheet.Charts;
 System.Drawing;

namespace FillChartWithImg_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            实例化Workbook类的对象
            Workbook workbook =  Workbook();
            加载测试文档
            workbook.LoadFromFile();

            获取第一个工作表中的第一个图表
            Worksheet ws = workbook.Worksheets[];
            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;

            /加载图片,仅填充图表中的绘图区域
            保存文档
            workbook.SaveToFile(result3.xlsx,ExcelVersion.Version2010);
            System.Diagnostics.Process.Start();           
        }
    }
}
View Code

?

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

测试图表:

Step1:加载文档

实例化Workbook类的对象,并加载测试文档
Workbook workbook =  Workbook();
workbook.LoadFromFile(test.xlsx获取工作表中的第一个图表
Worksheet ws = workbook.Worksheets[];
Spire.Xls.Chart chart = ws.Charts[0];

Step3:单色填充图例背景

填充图例背景色
XlsChartFrameFormat x = chart.Legend.FrameFormat as XlsChartFrameFormat;
单色填充
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

2.渐变填充效果

3.纹理填充效果

?

4.图片填充效果

?

全部代码:

 Spire.Xls.Charts;
 SetFontOfLegendInChart_XLS
{
    实例化Workbook类的对象,并加载测试文档
            Workbook workbook =  Workbook();
            workbook.LoadFromFile(获取工作表中的第一个图表
            Worksheet ws = workbook.Worksheets[];
            Spire.Xls.Chart chart = ws.Charts[填充图例背景色
            XlsChartFrameFormat x = chart.Legend.FrameFormat  XlsChartFrameFormat;
            单色填充
            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");

             );
        }
    }
}
View Code

?

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

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

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

(本文完)

转载请注明出处!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读