C# 填充Excel图表、图例背景色
填充背景色,一般可以选择多种不同样式来填充背景,包括填充为纯色背景、渐变背景、图片背景或者纹理背景等。下面的内容将分别介绍通过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[];
Chart chart = ws.Charts[];
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;
using Spire.Xls.Core.Spreadsheet.Charts;
using System.Drawing; namespace FillChartWithImg_XLS
{
class Program
{
static void Main(string[] args)
{
//实例化Workbook类的对象
Workbook workbook = new Workbook();
//加载测试文档
workbook.LoadFromFile("sample.xlsx"); //获取第一个工作表中的第一个图表
Worksheet ws = workbook.Worksheets[];
Chart chart = ws.Charts[]; //设置图表的背景填充色(纯色)
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");
}
}
}
【示例2】填充图表中的图例背景色
测试图表:

Step1:加载文档
//实例化Workbook类的对象,并加载测试文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx");
Step2:获取图表
//获取工作表中的第一个图表
Worksheet ws = workbook.Worksheets[];
Spire.Xls.Chart chart = ws.Charts[];
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", ExcelVersion.Version2010);
图例背景色填充效果:
1.单色填充效果

2.渐变填充效果

3.纹理填充效果

4.图片填充效果

全部代码:
using Spire.Xls;
using Spire.Xls.Charts;
using Spire.Xls.Core.Spreadsheet.Charts;
using System.Drawing; namespace SetFontOfLegendInChart_XLS
{
class Program
{
static void Main(string[] args)
{
//实例化Workbook类的对象,并加载测试文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx"); //获取工作表中的第一个图表
Worksheet ws = workbook.Worksheets[];
Spire.Xls.Chart chart = ws.Charts[]; //填充图例背景色
XlsChartFrameFormat x = chart.Legend.FrameFormat as 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"); //保存文档
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start("output.xlsx");
}
}
}
更多Excel背景色填充的方法,可参考以下文章:
(本文完)
转载请注明出处!
C# 填充Excel图表、图例背景色的更多相关文章
- vba控制图表,excel图表,一键完成
来源http://club.excelhome.net/thread-1417686-1-1.html 官方教程链接 https://docs.microsoft.com/zh-cn/office/v ...
- 【原创】.NET读写Excel工具Spire.Xls使用(5)重量级的Excel图表功能
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html .NET读写Excel工具Spire.Xls使用文章 ...
- JAVA生成EXCEL图表
跟据客户的要求,需要开发一套包括图形的报表,还需要导出WORD 图表需要这样: 这样: 这样: 还有这样: 接下来是实现思路: 以往用的最多的就是JFreechart,手上也有实现各种图形的资源,但是 ...
- 《Excel图表之道》读书笔记
一.突破常规的作图方法 突破Excel的默认颜色 非数据元素用淡色 突破Excel的图表布局 图表要素:主标题.副标题.图例.绘图.脚注 竖向构图 标明数据来源.图表注释.坐标轴截断符号 专业的水蓝色 ...
- EXCEL 图表 只在拐点的时候显示数字
EXCEL图表只在折线的拐点显示数值,中间不需要显示.同时往下拐的,显示在上方,往上的显示在下方,这样数值不会挡住线. 首先,做一些模拟数据 因为起点和终点数值必须显示,所以单元格,C2 D2 C19 ...
- C# 填充Excel
1.添加引用 Microsoft.Office.Interop.Excel; 2.使用命名空间 using Microsoft.Office.Interop.Excel; 3.填充EXCEL单元格方法 ...
- MSChart 设置饼图颜色 图例背景色 图例显示位置
chartField.Series.Clear(); chartField.ChartAreas.Clear(); chartField.Legends.C ...
- Excel图表转成图片
关于excel 图表转成图片 知识点:excel 生成的图表不是图片 尝试. 通过Java调用POI接口挺难把excel生成的图表转成图片导出来 ps. 其它生成图表的工具,如jfre ...
- [办公自动化]如何让excel图表标签中显示最新值数据
同事做了一张excel图表,希望最新的数据显示数据标签,其他都不显示.并且当单元格的数据新增加时,这个标签要能自动更新. 这里需要用到公式,获取到这个最新值.在b2输入公式=lookup(9e+307 ...
随机推荐
- 填坑!!!virtualenv 中 nginx + uwsgi 部署 django
一.为什么会有这篇文章 第一次接触 uwsgi 和 nginx ,这个环境搭建,踩了太多坑,现在记录下来,让后来者少走弯路. 本来在 Ubuntu14.04 上 搭建好了环境,然后到 centos7. ...
- Netflix性能监控工具Vector
简介: Vector是Netflix开源的主机级性能监控框架,向每位工程师的浏览器提供精心挑选的高分辨率系统和应用程序指标. 登录到系统并从shell运行大量命令是一种选择,但是通常涉及的复杂性可能成 ...
- js基础进阶--图片上传时实现本地预览功能的原理
欢迎访问我的个人博客:http://www.xiaolongwu.cn 前言 最近在项目上加一个图片裁剪上传的功能,用的是cropper插件,注意到选择本地图片后就会有预览效果,这里整理一下这种预览效 ...
- CXF整合spring
近公司需要弄webservics,还说不用框架整合(提倡使用hessian,他们既然说与操作系统有兼容问题,由于人员单薄,不得不屈服,哎),我想了老半天没弄明白他说的不用框架整合spring,尝试过直 ...
- 去重是distinct还是group by?
distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计. 单纯的去重操作使用di ...
- 第二章:第一个Netty程序
第一步:设置开发环境 • 安装JDK,下载地址http://www.oracle.com/technetwork/java/javase/archive-139210.html • 下载netty ...
- c++ 输出精度
1 保留小数点后**位 cout.flags(ios::fixed); cout.precision(4); //设置输出精度,
- SpringBoot编写自定义的starter 专题
What’s in a name All official starters follow a similar naming pattern; spring-boot-starter-*, where ...
- 分布式服务跟踪及Spring Cloud的实现
在分布式服务架构中,需要对分布式服务进行治理——在分布式服务协同向用户提供服务时,每个请求都被哪些服务处理?在遇到问题时,在调用哪个服务上发生了问题?在分析性能时,调用各个服务都花了多长时间?哪些调用 ...
- 修改LINUX的时区。
新装的机器(redhat7)有几台时区不对: 百度了之后找到了以下解决方法输入 tz 依次选择Asia China east China Yes 1 然后 export TZ 新开对话发现 ...