C#/VB.NET 如何在Excel中使用條件格式設置交替行顏色

說起高亮數據行,不讓人想起了交替顏色行,有的人把交替顏色行也都設置成高亮,不僅不美觀,而且對閱讀還是個干擾。隔行交替的顏色是為了閱讀不串列,這些行只是環境,數據才是主體。那麼如何通過C#/VB.NET程式碼在Excel中使用條件格式設置交替行顏色呢?下面是我整理的具體步驟,並附上C#/VB.NET程式碼供大家參考,希望對大家有所幫助。

使用工具:​Free Spire.XLS for .NET​(免費版)

程式環境

本次測試時,在程式中引入 Free Spire.XLS for .NET。可通過以下方法引用Spire.XLS.dll文件:

方法1:將 Free Spire.XLS for .NET 下載到本地,解壓,安裝。安裝完成後,找到安裝路徑下BIN文件夾中的Spire.XLS.dll。然後在Visual Studio中打開解決方案資源管理器,滑鼠右鍵點擊引用添加引用,將本地路徑BIN文件夾下的dll文件添加引用至程式。

方法2:通過NuGet安裝。可通過以下2種方法安裝:

1)可以在Visual Studio中打開解決方案資源管理器,滑鼠右鍵點擊引用管理NuGet,然後搜索「Free Spire.XLS」,點擊安裝。等待程式安裝完成。

2)將以下內容複製到PM控制台安裝。

Install-Package FreeSpire.XLS -Version 12.7

具體步驟

 

  • 創建一個Workbook對象
  • 使用 Workbook.LoadFromFile() 方法載入 Excel 文件。
  • 通過 Workbook.Worsheets[index] 屬性從工作簿中獲取特定的工作表。
  • 使用 Worksheet.ConditionalFormats.Add() 方法向工作表添加條件格式,並返回 XlsConditionalFormats 類的對象。
  • 使用 XlsConditionalFormats.AddRange() 方法設置應用條件格式的單元格範圍。
  • 使用XlsConditionalFormats.AddCondition()方法添加條件,然後設置條件公式和偶數行的單元格顏色。添加另一個條件以更改奇數行單元格的格式。
  • 使用Workbook.SaveToFile() 方法保存為Excel 文件。

 

完整程式碼

 

C#

 

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("商品採買表.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.LightGreen;

            //保存文件
            workbook.SaveToFile("交替行顏色.xlsx", ExcelVersion.Version2016);
        }
    }
}

 

VB.NET

 

Imports Spire.Xls
Imports Spire.Xls.Core
Imports Spire.Xls.Core.Spreadsheet.Collections
Imports System.Drawing

Namespace AlternateRowColors
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '創建一個Workbook對象
            Dim workbook As Workbook = New Workbook()

            '載入 Excel 文件
            workbook.LoadFromFile("商品採買表.xlsx")

            '獲取特定的工作表
            Dim sheet As Worksheet = workbook.Worksheets(0)

            '向工作表添加條件格式
            Dim format As XlsConditionalFormats = sheet.ConditionalFormats.Add()

            '設置應用條件格式的範圍
            format.AddRange(sheet.Range(2, 1, sheet.LastRow, sheet.LastColumn))

            '添加條件以根據公式更改單元格的格式
            Dim condition1 As IConditionalFormat = format.AddCondition()
            condition1.FirstFormula = "=MOD(ROW(),2)=0"
            condition1.FormatType = ConditionalFormatType.Formula
            condition1.BackColor = Color.Yellow

            '添加另一個條件以根據公式更改單元格的格式
            Dim condition2 As IConditionalFormat = format.AddCondition()
            condition2.FirstFormula = "=MOD(ROW(),2)=1"
            condition2.FormatType = ConditionalFormatType.Formula
            condition2.BackColor = Color.LightGreen

            '保存文件
            workbook.SaveToFile("交替行顏色.xlsx", ExcelVersion.Version2016)
        End Sub
    End Class
End Namespace

 

效果圖

注意:測試程式碼中的文件路徑為程式Debug路徑,僅供參考,文件路徑可自定義為其他路徑。