在Excel文档的设计与美化中,单元格和工作表的背景设置不仅能提升文档的可视化效果,还能增强数据呈现的逻辑性。通过编程方式设置背景色、纹理和渐变色,甚至添加整个工作表的背景图片,可以实现自动化批量样式统一、企业模板定制等需求。本文将介绍如何在.NET平台使用C#设置Excel单元格和工作表背景,并提供完整的代码示例。
本文使用免费的 Free Spire.XLS for .NET,可通过 NuGet 安装:
Install-Package FreeSpire.XLS
用C#设置Excel单元格背景色
使用库中的CellRange.Style
属性可对Excel单元格或单元格范围进行背景自定义,可设置纯色、纹理和渐变三种背景。
1. 设置普通背景色
通过设置CellRange.Style.Color
和CellRange.Style.FillPattern
属性,可以将单元格背景设置为纯色填充。
代码示例
using Spire.Xls;
using System.Drawing;
// 创建工作簿
Workbook workbook = new Workbook();
// 获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
// 获取单元格,设置单元格文本,设置行高和列宽
CellRange cell = sheet.Range["B2"];
cell.Text = "普通背景色";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;
// 设置单元格填充类型和背景色
cell.Style.FillPattern = ExcelPatternType.Solid;
cell.Style.Color = Color.LightGreen;
// 保存工作簿
workbook.SaveToFile("output/CellSolidColor.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
结果文件:
2. 设置背景纹理
Spire.XLS 提供多种内置纹理样式(如细点、灰度、砖块等),可通过设置CellRange.Style.FillPattern
、CellRange.Style.PatternColor
(设置纹理色)和CellRange.Style.Color
(设置背景色)来实现。
代码示例
using Spire.Xls;
using System.Drawing;
// 创建工作簿,获取工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 获取单元格,设置单元格文本、行高和列宽
CellRange cell = sheet.Range["B2"];
cell.Text = "纹理背景";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;
// 设置单元格纹理背景
cell.Style.FillPattern = ExcelPatternType.Angle;
cell.Style.Color = Color.LightGray; // 背景色
cell.Style.PatternColor = Color.Beige; // 纹理色
// 保存工作簿
workbook.SaveToFile("output/CellPattern.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
结果文件:
3. 设置渐变背景
Spire.XLS 支持设置线性渐变背景色,只需设置Interior.FillPattern
, Interior.Gradient
, Interior.ForeColor
, Interior.BackColor
等属性。
代码示例
using Spire.Xls;
using System.Drawing;
// 创建工作簿,获取工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 获取单元格,设置单元格文本、行高和列宽
CellRange cell = sheet.Range["B2"];
cell.Text = "渐变背景";
cell.RowHeight = 30f;
cell.ColumnWidth = 20f;
// 设置单元格渐变背景
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();
结果文件:
用C#设置Excel工作表背景图片
除了单元格背景,还可以为整个工作表设置背景图片,适合用于插入水印、品牌标志等视觉增强内容。
操作步骤
- 创建
Workbook
对象并添加工作表。 - 使用
Worksheet.SetBackground(string imagePath)
方法设置背景图。 - 保存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"));
// 应用背景图到工作表
sheet.PageSetup.BackgoundImage = image;
// 保存工作簿
workbook.SaveToFile("output/SheetBackgroundImage.xlsx");
workbook.Dispose();
结果文件:
总结
通过Free Spire.XLS for .NET,C#开发者可以轻松设置Excel文档中的:
- 单元格普通背景色:用于高亮显示重点数据;
- 单元格背景纹理:增强表格风格;
- 单元格渐变背景:提升文档专业感;
- 工作表背景图:实现品牌统一或添加水印。
这些功能适用于自动生成报表、企业模板美化、文档视觉统一等场景。
更多Excel操作请参考:Spire.XLS for .NET 教程中心