使用C#代码使用条件格式为 Excel 隔行设置颜色

对于数据较多的工作表,为相邻行设置不同的背景颜色,可以帮助区分数据行,让内容更容易查看和阅读。实现隔行变色的方法有很多,例如使用 Excel 内置的表格样式,或者通过条件格式设置规则。本文将介绍如何在 C# 和 VB.NET 中使用条件格式为 Excel 工作表设置交替行颜色,并结合相关的 .NET Excel 处理组件完成操作。

安装相关 .NET 组件

开始之前,需要在 .NET 项目中添加用于处理 Excel 文件的相关 DLL 文件。你可以从组件的官方资源中获取安装包,也可以通过 NuGet 安装相应的程序包。

cs 复制代码
PM> Install-Package Spire.XLS

使用条件格式为 Excel 隔行设置颜色

以下是使用条件格式为 Excel 工作表中的奇偶行设置不同颜色的基本步骤:

  • 创建一个 Workbook 对象。
  • 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  • 通过 Workbook.Worksheetsindex 属性获取工作簿中的指定工作表。
  • 使用 Worksheet.ConditionalFormats.Add() 方法为工作表添加条件格式,并获取 XlsConditionalFormats 对象。
  • 使用 XlsConditionalFormats.AddRange() 方法设置需要应用条件格式的单元格区域。
  • 使用 XlsConditionalFormats.AddCondition() 方法添加条件,并设置条件公式以及偶数行的单元格颜色。
  • 再添加一个条件,为奇数行设置相应的单元格格式。
  • 使用 Workbook.SaveToFile() 方法将处理后的工作簿保存为 Excel 文件。

完整示例代码如下:

cs 复制代码
using Spire.Xls;
using Spire.Xls.Core;
using Spire.Xls.Core.Spreadsheet.Collections;
using System.Drawing;

namespace AlternateRowColors
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个 Workbook 对象
            Workbook workbook = new Workbook();

            // 加载 Excel 文件
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");
            
            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 为工作表添加条件格式
            XlsConditionalFormats format = sheet.ConditionalFormats.Add();

            // 设置应用条件格式的单元格区域
            format.AddRange(sheet.Range[2, 1, sheet.LastRow, sheet.LastColumn]);

            // 添加条件,根据公式更改单元格格式
            IConditionalFormat condition1 = format.AddCondition();        
            condition1.FirstFormula = "=MOD(ROW(),2)=0";
            condition1.FormatType = ConditionalFormatType.Formula;
            condition1.BackColor = Color.Yellow;

            // 添加另一个条件,根据公式更改单元格格式
            IConditionalFormat condition2 = format.AddCondition();
            condition2.FirstFormula = "=MOD(ROW(),2)=1";
            condition2.FormatType = ConditionalFormatType.Formula;
            condition2.BackColor = Color.LightSeaGreen;

            // 将工作簿保存为 Excel 文件
            workbook.SaveToFile("AlternateRowColors.xlsx", ExcelVersion.Version2016);
        }
    }
}

总结

通过条件格式,可以根据行号自动为 Excel 工作表中的奇数行和偶数行设置不同的背景颜色,从而让数据更加清晰、易于查看。本文通过 C# 示例,首先加载 Excel 文件并获取目标工作表,然后设置需要应用条件格式的区域,并利用 MOD 和 ROW 函数判断当前行是奇数行还是偶数行,分别应用不同的颜色。最后,将设置完成的工作簿保存为新的 Excel 文件。

这种方法无需逐行修改单元格格式,当工作表中的数据发生变化时,条件格式也可以根据规则自动调整,适用于数据量较大的 Excel 表格。

相关推荐
kimloner3 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
阿松爱学习4 小时前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
Knight_AL4 小时前
从 EasyExcel 到 Apache Fesod:Java Excel 处理生态的一次重构
java·apache·excel
半亩码田5 小时前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
FPGA小徐5 小时前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
泡海椒5 小时前
JQuick-Excel 多字段 TRANSFORM:让当前行字段、JContext 与展示列各归其位
开发语言·python·excel
淡海水6 小时前
02-04-原理篇-GC Roots与对象图遍历
算法·unity·c#·图·gc·遍历·roots
泡海椒6 小时前
JQuick-Excel FORMULAS 实战:把计算规则留在工作簿中
excel
xiaolinudao1236 小时前
将多个 Excel 表格中的数据合并到单个表中|6 种实现方案全解析
java·前端·excel
reasonsummer8 小时前
【办公类-193-01】20261010 豆包写“带班表EXCEL”
excel·豆包