public void ColorScaleComparing()
        {
            using (var wb = new XLWorkbook())
            {
                var ws = wb.Worksheets.Add("Sheet");

                var ranges = ws.Ranges("B3:B8,C3:C4,A3:A4,C5:C8,A5:A8").Cast <XLRange>();
                var cf1    = new XLConditionalFormat(ranges);
                cf1.ColorScale()
                .LowestValue(XLColor.Red)
                .HighestValue(XLColor.Green);

                var cf2 = new XLConditionalFormat(ranges);
                cf2.ColorScale()
                .LowestValue(XLColor.Red)
                .HighestValue(XLColor.Green);
                Assert.True(XLConditionalFormat.NoRangeComparer.Equals(cf1, cf2));
            }
        }
示例#2
0
        public void ConsolidateShiftsFormulaRelativelyToTopMostCell()
        {
            var          wb = new XLWorkbook();
            IXLWorksheet ws = wb.Worksheets.Add("Sheet");

            var ranges = ws.Ranges("B3:B8,C3:C4,A3:A4,C5:C8,A5:A8").Cast <XLRange>();
            var cf     = new XLConditionalFormat(ranges);

            cf.Values.Add(new XLFormula("=A3=$D3"));
            cf.Style.Fill.SetBackgroundColor(XLColor.Red);
            ws.ConditionalFormats.Add(cf);

            ((XLConditionalFormats)ws.ConditionalFormats).Consolidate();

            Assert.AreEqual(1, ws.ConditionalFormats.Count());
            Assert.AreEqual((ws.ConditionalFormats.Single().Style as XLStyle).Value, (cf.Style as XLStyle).Value);
            Assert.AreEqual("A3:C8", ws.ConditionalFormats.Single().Ranges.Single().RangeAddress.ToString());
            Assert.IsTrue(ws.ConditionalFormats.Single().Values.Single().Value.IsFormula);
            Assert.AreEqual("A3=$D3", ws.ConditionalFormats.Single().Values.Single().Value.Value);
        }
 public XLCFColorScaleMax(XLConditionalFormat conditionalFormat)
 {
     _conditionalFormat = conditionalFormat;
 }
示例#4
0
 public XLCFIconSet(XLConditionalFormat conditionalFormat)
 {
     _conditionalFormat = conditionalFormat;
 }
示例#5
0
 public XLCFDataBarMax(XLConditionalFormat conditionalFormat)
 {
     _conditionalFormat = conditionalFormat;
 }
 internal void BreakConditionalFormatsIntoCells(List<IXLAddress> addresses)
 {
     var newConditionalFormats = new XLConditionalFormats();
     SuspendEvents();
     foreach (var conditionalFormat in ConditionalFormats)
     {
         foreach (XLCell cell in conditionalFormat.Range.Cells(c=>!addresses.Contains(c.Address)))
         {
             var row = cell.Address.RowNumber;
             var column = cell.Address.ColumnLetter;
             var newConditionalFormat = new XLConditionalFormat(cell.AsRange(), true);
             newConditionalFormat.CopyFrom(conditionalFormat);
             newConditionalFormat.Values.Values.Where(f => f.IsFormula)
                 .ForEach(f => f._value = XLHelper.ReplaceRelative(f.Value, row, column));
             newConditionalFormats.Add(newConditionalFormat);
         }
         conditionalFormat.Range.Dispose();
     }
     ResumeEvents();
     ConditionalFormats = newConditionalFormats;
 }