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

来源:https://www.cnblogs.com/Yesi/archive/2019/04/02/10642362.html
-Advertisement-
Play Games

填充背景色,一般可以選擇多種不同樣式來填充背景,包括填充為純色背景、漸變背景、圖片背景或者紋理背景等。下麵的內容將分別介紹通過C#來設置Excel中圖表背景色、以及圖表中的圖例背景色的方法。 使用工具:Spire.XLS for .NET dll引用:下載安裝後,註意在程式中添加引用Spire.Xl ...


填充背景色,一般可以選擇多種不同樣式來填充背景,包括填充為純色背景、漸變背景、圖片背景或者紋理背景等。下麵的內容將分別介紹通過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表格圖片背景

(本文完)

轉載請註明出處!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在Sqlserver資料庫中,備份數據的方式有很多種,可以使用整個資料庫備份,也可使用導出包含數據和架構的腳本文件的方式來進行單表或多表數據的備份,其實還有一種Select Into的方式可以快速備份單張數據表,Select Into將自動創建備份存儲使用的新表。 Sqlserver中使用Selec ...
  • 測試代碼: 改為給Control添加擴展方法。 上述代碼,起作用的根本原因在於Component 內有 受保護的欄位Events ,該欄位記錄了附加到該控制項的所有的事件處理函數。 而wpf 控制項中沒有該成員,所以無法使用該方法判斷。但是可以使用UIElement類提供的 AddHandler 和 R ...
  • 筆記:xml序列化 /// <summary> /// xml序列化 /// </summary> /// <param name="root"></param> /// <param name="dic"></param> /// <returns></returns> private stati ...
  • 【前言】 上一篇完成了Asp.Net Core 2.2全新的管道處理模型解析,“俄羅斯套娃”式的委托嵌套和傳遞,組建了擴展性無與倫比的管道模型!與此同時,委托嵌套過於複雜,使用起來並不友好,然後多種擴展使用方式出現了,一起來看看吧! 【Run終結式擴展】 IApplicationBuilder里的U ...
  • 【前言】 上一篇完成了Asp.Net Core 2.2項目的一個最簡單功能的添加,從控制器-視圖-實體輕鬆交互了一下,感覺跟之前的MVC沒啥差別!但這些都是在組件封裝的基礎上完成的,在Core裡面,其實更多的東西是靠訂製的,而不是實現固定的,包括管道處理模型!本文將跟大家探討一下,Asp.Net C ...
  • 1. 實現代碼: " MasterChief.DotNet.ProjectTemplate.WebApi " 2. Demo Code: 3. Nuget : Install Package MasterChief.DotNet.ProjectTemplate.WebApi 4. 實現WebApi開 ...
  • 1.序列化啊 寶貝!! public string DataTableToJsonWithJsonNet(DataTable table) { string jsonString=string.Empty; jsonString = JsonConvert.SerializeObject(table ...
  • (第一次寫博客,好緊張!!!) 源碼地址:傳送門 項目中有很多緩存的需求,能自己定義緩存key和時間,能根據key去清理緩存。 網上找了一圈,有很多基於aop的緩存組件,但是都不滿足我的需求。故造了個輪子。 新建web項目 .net core mvc TestAopCache 安裝 AopCache ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...