最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#借助Spire.XLS?for?.NET實(shí)現(xiàn)一鍵移除Excel條件格式

 更新時(shí)間:2026年03月18日 08:33:17   作者:缺點(diǎn)內(nèi)向  
在日常開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到需要處理?Excel?文件的場(chǎng)景,本文將介紹如何借助?Spire.XLS?for?.NET?在?C#?中高效地移除這些條件格式,有需要的可以了解下

在日常開(kāi)發(fā)中,我們經(jīng)常會(huì)遇到需要處理 Excel 文件的場(chǎng)景,比如數(shù)據(jù)清洗、報(bào)表導(dǎo)出或批量處理。然而,有些 Excel 文件中包含復(fù)雜的條件格式(Conditional Formatting) ,可能會(huì)影響數(shù)據(jù)展示,甚至干擾后續(xù)處理邏輯。

那么,如何在 C# 中高效地移除這些條件格式呢?本文將介紹一種無(wú)需依賴(lài) Microsoft Office 的方法,借助 Spire.XLS for .NET 快速實(shí)現(xiàn)。

為什么需要?jiǎng)h除條件格式

在實(shí)際項(xiàng)目中,刪除條件格式通常有以下幾種場(chǎng)景:

  • 導(dǎo)出標(biāo)準(zhǔn)化報(bào)表,避免顏色或樣式干擾
  • 減少文件復(fù)雜度,提高處理性能
  • 防止條件格式影響數(shù)據(jù)讀取或解析
  • 清理用戶(hù)上傳的 Excel 文件(常見(jiàn)于 Web 應(yīng)用)

相比手動(dòng)操作,使用代碼批量處理更高效、更穩(wěn)定。

Spire.XLS for .NET 簡(jiǎn)介

Spire.XLS for .NET 是一款功能強(qiáng)大的 Excel 處理組件,支持在 C# / VB.NET 中創(chuàng)建、讀取、編輯和轉(zhuǎn)換 Excel 文件。它的優(yōu)勢(shì)在于:

  • 無(wú)需安裝 Microsoft Excel
  • 支持 .NET Framework 和 .NET Core
  • API 簡(jiǎn)潔,易于上手
  • 適用于服務(wù)器環(huán)境(如 ASP.NET、Docker)

實(shí)現(xiàn)思路

在 Spire.XLS 中,條件格式是通過(guò) ConditionalFormats 集合來(lái)管理的。要?jiǎng)h除條件格式,本質(zhì)上就是清空指定單元格區(qū)域中的條件格式規(guī)則。

我們可以按以下步驟實(shí)現(xiàn):

  • 加載 Excel 文件
  • 獲取工作表
  • 定位目標(biāo)單元格區(qū)域
  • 清除條件格式
  • 保存文件

示例代碼

下面是一個(gè)完整的示例,演示如何刪除指定區(qū)域的條件格式:

using Spire.Xls;

class Program
{
    static void Main(string[] args)
    {
        // 創(chuàng)建 Workbook 對(duì)象
        Workbook workbook = new Workbook();

        // 加載 Excel 文件
        workbook.LoadFromFile("input.xlsx");

        // 獲取第一個(gè)工作表
        Worksheet sheet = workbook.Worksheets[0];

        // 獲取指定單元格區(qū)域
        CellRange range = sheet.Range["A1:D20"];

        // 刪除該區(qū)域內(nèi)的所有條件格式
        range.ConditionalFormats.Clear();

        // 保存文件
        workbook.SaveToFile("output.xlsx", ExcelVersion.Version2016);
    }
}

刪除整張表的條件格式

如果你希望清除整個(gè)工作表的條件格式,可以直接遍歷所有條件格式集合:

sheet.ConditionalFormats.Clear();

這種方式適合需要徹底清理格式的場(chǎng)景,比如數(shù)據(jù)導(dǎo)出或模板重置。

知識(shí)擴(kuò)展

C# 設(shè)置Excel條件格式

應(yīng)用條件格式用于高亮重復(fù)、唯一數(shù)值

using Spire.Xls;
using System.Drawing;
namespace HightDuplicateData_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //實(shí)例化Workbook類(lèi),加載測(cè)試文檔
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("test.xlsx");
            //獲取第一個(gè)工作表
            Worksheet sheet = workbook.Worksheets[0];
            //應(yīng)用條件格式1到指定數(shù)據(jù)范圍,高亮重復(fù)數(shù)值的單元格
            ConditionalFormatWrapper format1 = sheet.Range["A3:A13"].ConditionalFormats.AddCondition();
            format1.FormatType = ConditionalFormatType.DuplicateValues;
            format1.BackColor = Color.Cyan;
            //應(yīng)用條件格式2到指定數(shù)據(jù)范圍,高亮唯一值的單元格
            ConditionalFormatWrapper format2 = sheet.Range["A3:A13"].ConditionalFormats.AddCondition();
            format2.FormatType = ConditionalFormatType.UniqueValues;
            format2.BackColor = Color.Yellow;
            //保存文檔并打開(kāi)            
            workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013);
            System.Diagnostics.Process.Start("result.xlsx");
        }
    }
}

應(yīng)用條件格式用于高亮峰值(最高、最低)

using Spire.Xls;
using System.Drawing;
namespace HighlightTopData_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //實(shí)例化workbook類(lèi)
            Workbook workbook = new Workbook();
            //加載測(cè)試文檔
            workbook.LoadFromFile("test.xlsx");
            //獲取第一個(gè)工作表
            Worksheet sheet = workbook.Worksheets[0];
            //應(yīng)用條件格式1到指定范圍,并高亮最高(依次排序)的兩個(gè)數(shù)值
            ConditionalFormatWrapper format1 = sheet.Range["B17:B24"].ConditionalFormats.AddCondition();
            format1.FormatType = ConditionalFormatType.TopBottom;
            format1.TopBottom.Type = TopBottomType.Top;
            format1.TopBottom.Rank = 2;
            format1.BackColor = Color.Green;
            //應(yīng)用條件格式2到指定范圍,并高亮最低(依次排序)的兩個(gè)數(shù)值
            ConditionalFormatWrapper format2 = sheet.Range["B17:B24"].ConditionalFormats.AddCondition();
            format2.FormatType = ConditionalFormatType.TopBottom;
            format2.TopBottom.Type = TopBottomType.Bottom;
            format2.TopBottom.Rank = 2;
            format2.BackColor = Color.RosyBrown;
            //保存并打開(kāi)文檔
            workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
            System.Diagnostics.Process.Start("output.xlsx");
        }
    }
}

應(yīng)用條件格式用于高亮低于、高于平均值的數(shù)值

using System.Drawing;
using Spire.Xls;
using Spire.Xls.Core;
using Spire.Xls.Core.Spreadsheet.Collections;
namespace Average_Condition
{
    class Program
    {
        static void Main(string[] args)
        {
            //實(shí)例化workbook類(lèi)
            Workbook workbook = new Workbook();
            //加載文檔
            workbook.LoadFromFile("test.xlsx");
            //獲取第一個(gè)工作表
            Worksheet sheet = workbook.Worksheets[0];
            //添加條件格式1并應(yīng)用到指定數(shù)據(jù)范圍
            XlsConditionalFormats format1 = sheet.ConditionalFormats.Add();
            format1.AddRange(sheet.Range["B17:B24"]);
            //高亮低于平均數(shù)值的單元格
            IConditionalFormat cf1 = format1.AddAverageCondition(AverageType.Below);
            cf1.BackColor = Color.SkyBlue;
            //添加條件格式2并應(yīng)用到指定數(shù)據(jù)范圍
            XlsConditionalFormats format2 = sheet.ConditionalFormats.Add();
            format2.AddRange(sheet.Range["B17:B24"]);
            //高亮高于平均數(shù)值的單元格
            IConditionalFormat cf2 = format1.AddAverageCondition(AverageType.Above);
            cf2.BackColor = Color.Orange;
            //保存并打開(kāi)文檔
            workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013);
            System.Diagnostics.Process.Start("result.xlsx");
        }
    }
}

注意事項(xiàng)

在實(shí)際使用中,有幾個(gè)細(xì)節(jié)值得注意:

  • 條件格式和普通單元格樣式是分開(kāi)的,清除條件格式不會(huì)影響已有數(shù)據(jù)或靜態(tài)樣式
  • 如果 Excel 文件較大,建議只清理必要區(qū)域以提升性能
  • 在服務(wù)器環(huán)境中運(yùn)行時(shí),確保使用 .NET Core 版本以避免 GDI+ 依賴(lài)問(wèn)題

總結(jié)

通過(guò) Spire.XLS for .NET,我們可以用非常簡(jiǎn)潔的代碼實(shí)現(xiàn) Excel 條件格式的刪除,無(wú)需依賴(lài) Office 組件,非常適合自動(dòng)化處理和服務(wù)器端應(yīng)用。

無(wú)論是批量清洗數(shù)據(jù),還是規(guī)范化導(dǎo)出報(bào)表,這種方式都能大大提高開(kāi)發(fā)效率。

如果你正在處理復(fù)雜的 Excel 文件,不妨試試這種方法,通常幾行代碼就能解決問(wèn)題。

到此這篇關(guān)于C#借助Spire.XLS for .NET實(shí)現(xiàn)一鍵移除Excel條件格式的文章就介紹到這了,更多相關(guān)C#移除Excel條件格式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • asp.net實(shí)現(xiàn)遍歷Request的信息操作示例

    asp.net實(shí)現(xiàn)遍歷Request的信息操作示例

    這篇文章主要介紹了asp.net實(shí)現(xiàn)遍歷Request的信息操作,涉及asp.net針對(duì)請(qǐng)求信息相關(guān)操作打印操作技巧,需要的朋友可以參考下
    2020-03-03
  • C#?使用原生?System.IO.Compression?實(shí)現(xiàn)?zip?的壓縮與解壓

    C#?使用原生?System.IO.Compression?實(shí)現(xiàn)?zip?的壓縮與解壓

    這篇文章主要介紹了C#?使用原生?System.IO.Compression?實(shí)現(xiàn)?zip?的壓縮與解壓,zip?是一個(gè)非常常見(jiàn)的壓縮包格式,本文主要用于說(shuō)明如何使用代碼?文件或文件夾壓縮為?zip壓縮包及其解壓操作,需要的朋友可以參考下
    2022-09-09
  • C#字符串常見(jiàn)操作總結(jié)詳解

    C#字符串常見(jiàn)操作總結(jié)詳解

    本篇文章是對(duì)C#中字符串的常見(jiàn)操作進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友參考下
    2013-05-05
  • C#編寫(xiě)的生辰八字計(jì)算程序

    C#編寫(xiě)的生辰八字計(jì)算程序

    這篇文章主要介紹了C#編寫(xiě)的生辰八字計(jì)算程序,假設(shè)一個(gè)人的公歷出生時(shí)間,范圍必須要在2012-2015年之間,因?yàn)楸臼纠绦蛑惶峁┝诉@幾年的農(nóng)歷數(shù)據(jù),小伙伴們參考下,可以自由擴(kuò)展
    2015-03-03
  • C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift

    C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift

    這篇文章介紹了C#使用遠(yuǎn)程服務(wù)調(diào)用框架Apache Thrift的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#中的var關(guān)鍵字用法介紹

    C#中的var關(guān)鍵字用法介紹

    這篇文章介紹了C#中的var關(guān)鍵字用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • WPF運(yùn)行時(shí)替換方法實(shí)現(xiàn)mvvm自動(dòng)觸發(fā)刷新

    WPF運(yùn)行時(shí)替換方法實(shí)現(xiàn)mvvm自動(dòng)觸發(fā)刷新

    這篇文章主要為大家詳細(xì)介紹了WPF運(yùn)行時(shí)如何實(shí)現(xiàn)setter不需要調(diào)方法就可以自動(dòng)觸發(fā)界面刷新,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • C#中ExecuteNonQuery()返回值注意點(diǎn)分析

    C#中ExecuteNonQuery()返回值注意點(diǎn)分析

    這篇文章主要介紹了C#中ExecuteNonQuery()返回值注意點(diǎn)分析,對(duì)于C#數(shù)據(jù)庫(kù)程序設(shè)計(jì)有很大的借鑒價(jià)值,需要的朋友可以參考下
    2014-08-08
  • Unity?百度AI實(shí)現(xiàn)Logo商標(biāo)識(shí)別

    Unity?百度AI實(shí)現(xiàn)Logo商標(biāo)識(shí)別

    本文主要介紹了Unity實(shí)現(xiàn)檢測(cè)和識(shí)別圖片中的品牌LOGO信息。即對(duì)于輸入的一張圖片(可正常解碼,且長(zhǎng)寬比適宜),輸出圖片中LOGO的名稱(chēng)、位置和置信度。需要的可以參考一下
    2022-01-01
  • C#中XML基礎(chǔ)用法

    C#中XML基礎(chǔ)用法

    可擴(kuò)展標(biāo)記語(yǔ)言,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集,簡(jiǎn)稱(chēng)XML。是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言。這篇文章介紹了C#中XML基礎(chǔ)的用法,下面的實(shí)例代碼,大家可以看看
    2021-12-12

最新評(píng)論

威信县| 内江市| 堆龙德庆县| 西畴县| 介休市| 五常市| 河北省| 陵水| 隆化县| 大宁县| 岐山县| 中江县| 昌乐县| 汝城县| 肇东市| 隆德县| 新邵县| 阜平县| 岑溪市| 阜城县| 大竹县| 宁海县| 乌鲁木齐市| 阿克| 潮安县| 昔阳县| 临武县| 贵南县| 和平县| 普洱| 垫江县| 承德县| 长葛市| 昭苏县| 姜堰市| 麻栗坡县| 灵璧县| 郴州市| 六盘水市| 赣州市| 元阳县|