在日常报表开发中,给 Excel 单元格设置背景色是提升数据可读性、区分数据层级最直接有效的方法之一。下面介绍如何使用免费的 Free Spire.XLS for .NET 库,通过 C# 代码以编程方式实现三种常见的背景设置:纯色填充、纹理填充和渐变填充。
在开始之前,先通过 NuGet 包管理器安装该库:
Install-Package FreeSpire.XLS
然后在代码中引入必要的命名空间:
using Spire.Xls;
using System.Drawing;
一、设置纯色背景
纯色背景是最常用的单元格填充方式,适合用于表头、数据分类标记或重点数据高亮。
// 创建工作簿并获取第一个工作表
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 获取目标单元格,设置文本内容
CellRange cell = sheet.Range["B2"];
cell.Text = "纯色背景";
// 设置填充类型为纯色,并指定背景颜色
cell.Style.FillPattern = ExcelPatternType.Solid;
cell.Style.Color = Color.LightGreen;
// 保存文件
workbook.SaveToFile("CellSolidColor.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
要点:
FillPattern = ExcelPatternType.Solid表示纯色填充;Style.Color属性用于设置填充颜色。
二、设置纹理背景
纹理背景可以在纯色基础上叠加图案,让单元格更具层次感。FillPattern 属性提供了多种内置纹理样式,如角度纹理、砖块纹理、细点纹理等。
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
CellRange cell = sheet.Range["B2"];
cell.Text = "纹理背景";
// 设置填充类型为角度纹理
cell.Style.FillPattern = ExcelPatternType.Angle;
cell.Style.Color = Color.LightGray; // 背景色
cell.Style.PatternColor = Color.Beige; // 纹理色
workbook.SaveToFile("CellPattern.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
要点:
PatternColor用于指定纹理图案的颜色,与Color(背景色)配合使用。
三、设置渐变背景
渐变背景能让单元格颜色产生平滑过渡,视觉效果更丰富。设置方式与纯色和纹理略有不同,需要通过 Interior 对象来操作。
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
CellRange cell = sheet.Range["B2"];
cell.Text = "渐变背景";
// 设置填充类型为渐变
cell.Style.FillPattern = ExcelPatternType.Gradient;
cell.Style.Interior.Gradient.GradientStyle = GradientStyleType.Vertical;
cell.Style.Interior.Gradient.ForeColor = Color.Orange;
cell.Style.Interior.Gradient.BackColor = Color.LightYellow;
workbook.SaveToFile("CellGradient.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
要点:
GradientStyle控制渐变样式(水平、垂直等),ForeColor和BackColor分别指定渐变的两端颜色。
四、为单元格区域设置背景
除了单个单元格,Range 属性同样支持为连续区域统一设置背景:
// 为表头区域设置背景色
sheet.Range["A1:E1"].Style.Color = Color.MediumSeaGreen;
// 为数据区域设置背景色
sheet.Range["A2:A10"].Style.Color = Color.LightYellow;
注意事项
-
填充类型:设置纯色背景时,务必先将
FillPattern设为Solid,否则颜色可能不生效。 -
颜色命名空间:
Color类位于System.Drawing命名空间,支持预定义颜色(如Color.Red)和自定义 RGB 颜色。 -
文件保存:
SaveToFile方法的第二个参数可指定 Excel 版本(如Version2016、Version2013等),确保兼容性。 -
资源释放:操作完成后调用
Dispose()释放资源。