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[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;
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[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");
 }
 }
}

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

测试图表:

Step1:加载文档

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

Step2:获取图表

//获取工作表中的第一个图表
Worksheet ws = workbook.Worksheets[0];
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", 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[0];
 Spire.Xls.Chart chart = ws.Charts[0];
 //填充图例背景色
 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");
 }
 }
}

总结

以上所述是小编给大家介绍的C# 填充Excel图表、图例背景色的实例代码,需要的朋友跟随小编一起看看吧!

(0)

相关推荐

  • C#读取Excel到DataTable的方法示例

    前提 在Windows下进行数据处理的时候最常见的情况莫过于读取Microsoft的Excel文件了,Excel的普及率惊人,是事实上的标准.以前的开发中我采用调用第三方类库 NPOI的方式来处理Excel.这个方式有两个缺点: 需要依赖第三方类库NPOI NPOI支持几乎全功能的Office条件,缺点就是复杂度也高. 如果只是简单的导入数据,完全可以有更加简单的方案,方案的限制条件为: 只支持Windows平台 只读取Excel文件 支持xls和xlsx文件格式 依赖 还是有依赖的 2007

  • C#/.NET使用git命令行来操作git仓库的方法示例

    我们可以在命令行中操作 git,但是作为一名程序员,如果在大量重复的时候还手动敲命令行,那就太笨了. 本文介绍使用 C# 编写一个 .NET 程序来自动化地使用 git 命令行来操作 git 仓库. 这是一篇很基础的入门文章. 最简单的运行 git 命令的代码 在 .NET 中,运行一个命令只需要使用 Process.Start 开启一个子进程就好了.于是要运行一个 git 命令,我们其实只需要这句足以: Process.Start("git", "status")

  • C# WebApi Get请求方式传递实体参数的方法示例

    前言 我又搞回笃NET啦!java之路真是命运多舛,好事多磨.不过,也许我已经进入无招胜有招,博取众家之长.融会贯通的地步了. 对于WebApi,今天又有了一些新的了解. 话说,Get请求方式,参数会附在Url后面,称为QueryString,传递给服务器:而POST方式,则将参数放在消息体内.采用QueryString的话,简单,方便,但只适合参数比较少的情况:但有的时候,需要传递比较多.比较复杂的参数,比如,组合条件查询. 组合条件查询,条件会很多,通常会用一个实体类来封装,传递给服务器.用

  • C#实现记事本查找与替换功能

    看了网上关于记事本的查找替换很多,但都没有达到我想要的结果,然后自己学习总结了以下的方法: 统计字符串(汉字,字母,数字,字符) 先上效果图 定义全局变量 #region =★*★*★= [查找替换]的自定义变量 =★*★*★= /// <summary> 获取或设置查找起始位置 </summary> static int Index = 0; /// <summary> 查找到的字符串数量 </summary> static int count = 0;

  • 详解C#中的session用法

    Session具有以下特点: (1)Session中的数据保存在服务器端: (2)Session中可以保存任意类型的数据: (2)Session默认的生命周期是20分钟,可以手动设置更长或更短的时间. 需要注意的是在Session变量存储过多的数据会消耗比较多的服务器资源,在使用session时应该慎重 存入字符串: Session["userName"] = "aaa"; 这样取值: string str = Session["userName"

  • C#实现简单文本编辑器

    本文实例为大家分享了C#实现简单文本编辑器的具体代码,供大家参考,具体内容如下 建立一个窗体文件,实现对文件的编辑保存和对txt文件的打开 界面设计: 程序源代码: //form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

  • C#实现简单记事本程序

    本文实例为大家分享了使用C#写出一个简单的记事本程序,供大家参考,具体内容如下 编程语言: C# 编程环境: Visual Studio 2013 运行环境: .NET Framework 4.5 预览: 功能: 标题栏 显示文件标题 菜单栏 各类菜单命令 文件- 新建 - 打开 - 保存 - 另存为 - 页面设置 - 打印 - 退出 编辑 - 撤销 - 剪切 - 复制 - 粘贴 - 全选 - 时间/日期 格式 - 自动换行 - 字体 视图 - 状态栏 - 工具栏 - 全屏模式 帮助 - 开源许

  • C#中#define后面只加一个参数的解释

    #define只加一个参数 的解释 <stdio.h> 里有: #ifndef __STDIO_H #define __STDIO_H 这个__STDIO_H代表什么?而define的用法不是后面加两个字符串吗,它这里却只加一个字符串,是什么意思? 还有很多头文件里都有如下语句 #if __STDC__ #define _Cdecl #else #define _Cdecl cdecl #endif __stdc__,cdecl代表什么? 比方说你#include进来一个stdio.h,再#i

  • 详解C#开发Android应用程序的流程

    手把手教你用C#开发Android应用程序的方法和流程摘要:用C#能开发RFID-android吗?C#真的能开发android程序吗?C#开发android程序的工具是什么?开发步骤.方法以及流程是怎样的?出学android开发者一定会提出这些疑问,本文一一解答这些疑问,为安卓初学者提供入门指引. Android系统一下子铺天盖地而来,让人目不暇接.兴奋的同时也让部分开发人员犯难了!要知道从熟知的Wince.Mobile开发语言C#跨越到RFID-Android的Java.可不是一朝一夕就能完

  • C#用记事本编写简单WinForm窗体程序

    平时我们编写WinForm程序经常使用VS进行拖控件的方式,这样做虽然简单,但是无法深入了解WinForm程序的本质.其实,用记事本也可以编写出VS编写的WinForm程序.还是直接看代码吧: 1.打开记事本,写入以下代码,另存为hello.cs文件 using System; using System.Windows.Forms; namespace Hello { public class Form1:Form { private System.Windows.Forms.Button bt

随机推荐