如何使用C#設(shè)置Excel單元格和工作表的背景
在Excel文檔的設(shè)計(jì)與美化中,單元格和工作表的背景設(shè)置不僅能提升文檔的可視化效果,還能增強(qiáng)數(shù)據(jù)呈現(xiàn)的邏輯性。通過編程方式設(shè)置背景色、紋理和漸變色,甚至添加整個(gè)工作表的背景圖片,可以實(shí)現(xiàn)自動(dòng)化批量樣式統(tǒng)一、企業(yè)模板定制等需求。本文將介紹如何在.NET平臺(tái)使用C#設(shè)置Excel單元格和工作表背景,并提供完整的代碼示例。
本文使用免費(fèi)的 Free Spire.XLS for .NET,可通過 NuGet 安裝:
Install-Package FreeSpire.XLS
用C#設(shè)置Excel單元格背景色
使用庫中的CellRange.Style屬性可對(duì)Excel單元格或單元格范圍進(jìn)行背景自定義,可設(shè)置純色、紋理和漸變?nèi)N背景。
1. 設(shè)置普通背景色
通過設(shè)置CellRange.Style.Color和CellRange.Style.FillPattern屬性,可以將單元格背景設(shè)置為純色填充。
代碼示例
using Spire.Xls;
using System.Drawing;
// 創(chuàng)建工作簿
Workbook workbook = new Workbook();
// 獲取第一個(gè)工作表
Worksheet sheet = workbook.Worksheets[0];
// 獲取單元格,設(shè)置單元格文本,設(shè)置行高和列寬
CellRange cell = sheet.Range["B2"];
cell.Text = "普通背景色";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;
// 設(shè)置單元格填充類型和背景色
cell.Style.FillPattern = ExcelPatternType.Solid;
cell.Style.Color = Color.LightGreen;
// 保存工作簿
workbook.SaveToFile("output/CellSolidColor.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
結(jié)果文件:

2. 設(shè)置背景紋理
Spire.XLS 提供多種內(nèi)置紋理樣式(如細(xì)點(diǎn)、灰度、磚塊等),可通過設(shè)置CellRange.Style.FillPattern、CellRange.Style.PatternColor(設(shè)置紋理色)和CellRange.Style.Color(設(shè)置背景色)來實(shí)現(xiàn)。
代碼示例
using Spire.Xls;
using System.Drawing;
// 創(chuàng)建工作簿,獲取工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 獲取單元格,設(shè)置單元格文本、行高和列寬
CellRange cell = sheet.Range["B2"];
cell.Text = "紋理背景";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;
// 設(shè)置單元格紋理背景
cell.Style.FillPattern = ExcelPatternType.Angle;
cell.Style.Color = Color.LightGray; // 背景色
cell.Style.PatternColor = Color.Beige; // 紋理色
// 保存工作簿
workbook.SaveToFile("output/CellPattern.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
結(jié)果文件:

3. 設(shè)置漸變背景
Spire.XLS 支持設(shè)置線性漸變背景色,只需設(shè)置Interior.FillPattern, Interior.Gradient, Interior.ForeColor, Interior.BackColor等屬性。
代碼示例
using Spire.Xls;
using System.Drawing;
// 創(chuàng)建工作簿,獲取工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 獲取單元格,設(shè)置單元格文本、行高和列寬
CellRange cell = sheet.Range["B2"];
cell.Text = "漸變背景";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;
// 設(shè)置單元格漸變背景
cell.Style.FillPattern = ExcelPatternType.Gradient;
cell.Style.Interior.Gradient.BackColor = Color.Pink;
cell.Style.Interior.Gradient.ForeColor = Color.Beige;
// 保存工作簿
workbook.SaveToFile("output/GradientFillColor.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
結(jié)果文件:

用C#設(shè)置Excel工作表背景圖片
除了單元格背景,還可以為整個(gè)工作表設(shè)置背景圖片,適合用于插入水印、品牌標(biāo)志等視覺增強(qiáng)內(nèi)容。
操作步驟
- 創(chuàng)建Workbook對(duì)象并添加工作表。
- 使用Worksheet.SetBackground(string imagePath)方法設(shè)置背景圖。
- 保存Excel文檔。
代碼示例
using Spire.Xls;
using System.Drawing;
// 載入工作簿,獲取工作表
Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.xlsx");
Worksheet sheet = workbook.Worksheets[0];
// 載入背景圖
Bitmap image = new Bitmap(Image.FromFile("BackgroundImage1.jpg"));
// 應(yīng)用背景圖到工作表
sheet.PageSetup.BackgoundImage = image;
// 保存工作簿
workbook.SaveToFile("output/SheetBackgroundImage.xlsx");
workbook.Dispose();
結(jié)果文件:

總結(jié)
通過Free Spire.XLS for .NET,C#開發(fā)者可以輕松設(shè)置Excel文檔中的:
- 單元格普通背景色:用于高亮顯示重點(diǎn)數(shù)據(jù);
- 單元格背景紋理:增強(qiáng)表格風(fēng)格;
- 單元格漸變背景:提升文檔專業(yè)感;
- 工作表背景圖:實(shí)現(xiàn)品牌統(tǒng)一或添加水印。
這些功能適用于自動(dòng)生成報(bào)表、企業(yè)模板美化、文檔視覺統(tǒng)一等場(chǎng)景。
到此這篇關(guān)于如何使用C#設(shè)置Excel單元格和工作表的背景的文章就介紹到這了,更多相關(guān)C#設(shè)置Excel背景內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信跳一跳自動(dòng)腳本C#代碼實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了微信跳一跳自動(dòng)腳本C#代碼實(shí)現(xiàn)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
DataGridView清除顯示的數(shù)據(jù)、設(shè)定右鍵菜單
這篇文章介紹了DataGridView清除顯示的數(shù)據(jù)、設(shè)定右鍵菜單的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02
C#中神器類BlockingCollection的實(shí)現(xiàn)詳解
如果你想玩轉(zhuǎn)C#?里面多線程,工廠模式,生產(chǎn)者/消費(fèi)者,隊(duì)列等高級(jí)操作,就可以和我一起探索這個(gè)強(qiáng)大的線程安全提供阻塞和限制功能的C#神器類BlockingCollection吧2023-02-02
C#中SQL參數(shù)傳入空值報(bào)錯(cuò)解決方案
這篇文章主要介紹了C#中SQL參數(shù)傳入空值報(bào)錯(cuò)解決方案,需要的朋友可以參考下2017-06-06

