public CellValueConditionalFormattingRule DeepCloneWithOperator(ConditionalFormattingOperator @operator) { var result = new CellValueConditionalFormattingRule { Operator = @operator, Operand1Formula = this.Operand1Formula?.DeepClone(), Operand2Formula = this.Operand2Formula?.DeepClone(), StopIfTrue = this.StopIfTrue.DeepClone(), RangeStyle = this.RangeStyle?.DeepClone(), }; return(result); }
/// <summary> /// Converts a <see cref="ConditionalFormattingOperator"/> to a <see cref="OperatorType"/>. /// </summary> /// <param name="conditionalFormattingOperator">The conditional formatting operator to convert.</param> /// <returns> /// A <see cref="OperatorType"/> converted from a <see cref="ConditionalFormattingOperator"/>. /// </returns> public static OperatorType ToOperatorType( this ConditionalFormattingOperator conditionalFormattingOperator) { switch (conditionalFormattingOperator) { case ConditionalFormattingOperator.Between: return(OperatorType.Between); case ConditionalFormattingOperator.EqualTo: return(OperatorType.Equal); case ConditionalFormattingOperator.GreaterThan: return(OperatorType.GreaterThan); case ConditionalFormattingOperator.GreaterThanOrEqualTo: return(OperatorType.GreaterOrEqual); case ConditionalFormattingOperator.LessThan: return(OperatorType.LessThan); case ConditionalFormattingOperator.LessThanOrEqualTo: return(OperatorType.LessOrEqual); case ConditionalFormattingOperator.None: return(OperatorType.None); case ConditionalFormattingOperator.NotBetween: return(OperatorType.NotBetween); case ConditionalFormattingOperator.NotEqualTo: return(OperatorType.NotEqual); default: throw new NotSupportedException(Invariant($"This {nameof(ConditionalFormattingOperator)} is not supported: {conditionalFormattingOperator}")); } }
internal static void CreateCellValueConditionalFormatting(Worksheet worksheet, string range, SpreadsheetColor color, ConditionalFormattingOperator conditionalFormattingOperator, params double[] values) { var formatting = worksheet.ConditionalFormattings.Add(range); var rule = new CellIsFormattingRule(); rule.Fill = CellFill.CreateSolidFill(color); rule.Operator = conditionalFormattingOperator; rule.Formula1 = values[0].ToString(CultureInfo.InvariantCulture); if (values.Length == 2) { rule.Formula2 = values[1].ToString(CultureInfo.InvariantCulture); } formatting.Rules.Add(rule); }