internal ConditionalFormattingRule ToConditionalFormattingRule() { var cfr = new ConditionalFormattingRule(); cfr.Type = Type; if (FormatId != null) { cfr.FormatId = FormatId.Value; } cfr.Priority = Priority; if (StopIfTrue) { cfr.StopIfTrue = StopIfTrue; } if (!AboveAverage) { cfr.AboveAverage = AboveAverage; } if (Percent) { cfr.Percent = Percent; } if (Bottom) { cfr.Bottom = Bottom; } if (HasOperator) { cfr.Operator = Operator; } if ((Text != null) && (Text.Length > 0)) { cfr.Text = Text; } if (HasTimePeriod) { cfr.TimePeriod = TimePeriod; } if (Rank != null) { cfr.Rank = Rank.Value; } if (StdDev != null) { cfr.StdDev = StdDev.Value; } if (EqualAverage) { cfr.EqualAverage = EqualAverage; } foreach (var f in Formulas) { cfr.Append((Formula)f.CloneNode(true)); } if (HasColorScale) { cfr.Append(ColorScale.ToColorScale()); } if (HasDataBar) { cfr.Append(DataBar.ToDataBar()); } if (HasIconSet) { cfr.Append(IconSet.ToIconSet()); } if (Extensions.Count > 0) { var extlist = new ConditionalFormattingRuleExtensionList(); foreach (var ext in Extensions) { extlist.Append((ConditionalFormattingRuleExtension)ext.CloneNode(true)); } cfr.Append(extlist); } return(cfr); }