当前位置:首页 » HTML/CSS

C# 应用Excel条件格式(二)

2018-09-18 16:41 本站整理 浏览(10)

上一篇文章中介绍了关于设置Excel条件格式,包括基于单元格值、自定义公式

等应用条件格式、应用数据条条件类型格式、删除条件格式等内容。在本篇文章中将继续介绍C# 设置条件格式的方法。

要点概述:

1. 应用条件格式用于高亮重复、唯一数值

2. 应用条件格式用于高亮峰值(最高、最低)

3. 应用条件格式用于高亮低于、高于平均值的数值

 

使用工具:

注:在编辑代码时注意在程序中添加引用Spire.Xls.dll,dll文件可在安装路径下的Bin文件夹中获取。


 C#代码示例(供参考)

 

【示例 1】应用条件格式用于高亮重复、唯一数值

 

C#

using Spire.Xls;
using System.Drawing;

namespace HightDuplicateData_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //实例化Workbook类,加载测试文档
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("test.xlsx");

            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            //应用条件格式1到指定数据范围,高亮重复的数值
            ConditionalFormatWrapper format1 = sheet.Range["A3:A13"].ConditionalFormats.AddCondition();
            format1.FormatType = ConditionalFormatType.DuplicateValues;
            format1.BackColor = Color.Cyan;

            //应用条件格式2到指定数据范围,高亮数据中的唯一值
            ConditionalFormatWrapper format2 = sheet.Range["A3:A13"].ConditionalFormats.AddCondition();
            format2.FormatType = ConditionalFormatType.UniqueValues;
            format2.BackColor = Color.Yellow;

            //保存文档并打开            
            workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013);
            System.Diagnostics.Process.Start("result.xlsx");
        }
    }
}

 完成代码后,调试运行程序,生成文档,如下图:

 

 

 

【示例2】应用条件格式用于高亮峰值(最高、最低)

C#

 

using Spire.Xls;
using System.Drawing;

namespace HighlightTopData_XLS
{
    class Program
    {
        static void Main(string[] args)
        {
            //实例化workbook类
            Workbook workbook = new Workbook();
            //加载测试文档
            workbook.LoadFromFile("test.xlsx");

            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            //应用条件格式1到指定范围,并高亮最高的两个数值
            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;

            //应用条件格式2到指定范围,并高亮最低的两个数值
            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;

            //保存并打开文档
            workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
            System.Diagnostics.Process.Start("output.xlsx");
        }
    }
}

 测试结果:

 

 

 

 

 

【示例3】应用条件格式用于高亮低于、高于平均值的数值

 

C#

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)
        {
            //实例化workbook类
            Workbook workbook = new Workbook();
            //加载文档
            workbook.LoadFromFile("test.xlsx");

            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            //添加条件格式1并应用到指定数据范围
            XlsConditionalFormats format1 = sheet.ConditionalFormats.Add();
            format1.AddRange(sheet.Range["B17:B24"]);
            //高亮低于平均数值的单元格
            IConditionalFormat cf1 = format1.AddAverageCondition(AverageType.Below);
            cf1.BackColor = Color.SkyBlue;

            //添加条件格式2并应用到指定数据范围
            XlsConditionalFormats format2 = sheet.ConditionalFormats.Add();
            format2.AddRange(sheet.Range["B17:B24"]);
            //高亮高于平均数值的单元格
            IConditionalFormat cf2 = format1.AddAverageCondition(AverageType.Above);
            cf2.BackColor = Color.Orange;

            //保存并打开文档
            workbook.SaveToFile("result.xlsx", ExcelVersion.Version2013);
            System.Diagnostics.Process.Start("result.xlsx");
        }
    }
}

 

 

测试结果:

 以上内容是本次关于设置Excel表格条件格式的补充介绍,如需转载,请注明出处。

(本文完)