• 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");           
            }
        }
    }
    View Code

    【示例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");
            }
        }
    }
    View Code

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

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

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

    (本文完)

    转载请注明出处!

  • 相关阅读:
    Python 压缩图片至指定大小
    nginx 服务器自签https协议 (Let’s Encrypt)
    Django 批量创建app
    常见的设计模式(python )———适配器模式
    带你完全理解Python中的metaclass,type,class之间的恩怨情仇...
    常见的设计模式(python)———单例模式(转载)
    常见的设计模式(python)———工厂模式
    常见的设计模型(python)——建造者模型
    Django-restframework 概述及目录
    Java多线程开发
  • 原文地址:https://www.cnblogs.com/Yesi/p/10642362.html
Copyright © 2020-2023  润新知