.NET用C#设置Excel单元格和工作表的背景

发布于:2025-05-27 ⋅ 阅读:(18) ⋅ 点赞:(0)

在Excel文档的设计与美化中,单元格和工作表的背景设置不仅能提升文档的可视化效果,还能增强数据呈现的逻辑性。通过编程方式设置背景色、纹理和渐变色,甚至添加整个工作表的背景图片,可以实现自动化批量样式统一、企业模板定制等需求。本文将介绍如何在.NET平台使用C#设置Excel单元格和工作表背景,并提供完整的代码示例。

本文使用免费的 Free Spire.XLS for .NET,可通过 NuGet 安装:

Install-Package FreeSpire.XLS

用C#设置Excel单元格背景色

使用库中的CellRange.Style属性可对Excel单元格或单元格范围进行背景自定义,可设置纯色、纹理和渐变三种背景。

1. 设置普通背景色

通过设置CellRange.Style.ColorCellRange.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();

结果文件
C#设置Excel单元格纯色背景


2. 设置背景纹理

Spire.XLS 提供多种内置纹理样式(如细点、灰度、砖块等),可通过设置CellRange.Style.FillPatternCellRange.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();

结果文件
C#设置Excel单元格纹理背景


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单元格渐变背景


用C#设置Excel工作表背景图片

除了单元格背景,还可以为整个工作表设置背景图片,适合用于插入水印、品牌标志等视觉增强内容。

操作步骤

  1. 创建Workbook对象并添加工作表。
  2. 使用Worksheet.SetBackground(string imagePath)方法设置背景图。
  3. 保存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();

结果文件
C#设置Excel工作表背景图


总结

通过Free Spire.XLS for .NET,C#开发者可以轻松设置Excel文档中的:

  • 单元格普通背景色:用于高亮显示重点数据;
  • 单元格背景纹理:增强表格风格;
  • 单元格渐变背景:提升文档专业感;
  • 工作表背景图:实现品牌统一或添加水印。

这些功能适用于自动生成报表、企业模板美化、文档视觉统一等场景。

更多Excel操作请参考:Spire.XLS for .NET 教程中心


网站公告

今日签到

点亮在社区的每一天
去签到