如何使用条件格式使用EPPLUS在Excel中突出显示重复值

问题描述

我试图弄清楚如何使用EPPLUS excel库使用条件格式突出显示给定列中的重复值。在可用的验证类型列表中,我看不到“重复值”相关类型。 这里的想法是,一列有几个值,但是其中一些是重复的。所以我想应用与手动步骤类似的格式,即选择列(或相关范围),然后转到条件格式-突出显示单元格规则-重复值。然后,基本上将所有重复项分配为浅红色填充颜色。或者,如果我可以使用公式= COUNTIF($ B3:$ B $ 3,$ B3)> 1类似的新规则类型,则可以将其应用于整个范围。但是,如何使用EPPLUS将新的规则类型添加为条件格式?任何建议,想法欢迎。我还没有发布代码,因为我没有做任何能够捕捉逻辑的事情。

解决方法

经过一些反复试验后,

设法使它起作用。下面的示例代码希望这可以帮助某人查找相同的信息。

'Enable Automatic Calc mode on the excel workbook  
  p.Workbook.CalcMode = ExcelCalcMode.Automatic
 
 
 'Add Conditional formatting for the given range
 Dim cfRange As ExcelAddress = New ExcelAddress("B3:B" & ValToRow.ToString)
                Dim cfRule = ws.ConditionalFormatting.AddDuplicateValues(cfRange)
                cfRule.Style.Fill.PatternType = ExcelFillStyle.Solid

                cfRule.StopIfTrue = False

                cfRule.Style.Fill.BackgroundColor.Color = ColorTranslator.FromHtml("#F8696B") 'red color
                
               'The Pattern Type and color can be set or ignored as it may affect readability of cell values. 
               ' Uncomment to change and use as desired
                'cfRule.Style.Fill.PatternType = ExcelFillStyle.LightHorizontal
               'cfRule.Style.Fill.PatternColor.Color = Color.WhiteSmoke
                
                'Add this line after above code.
                ws.calculate()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...