diff --git a/ClosedXML/ClosedXML/ClosedXML.sln b/ClosedXML/ClosedXML/ClosedXML.sln index 2ec88b1..67b4c91 100644 --- a/ClosedXML/ClosedXML/ClosedXML.sln +++ b/ClosedXML/ClosedXML/ClosedXML.sln @@ -135,9 +135,6 @@ GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(Performance) = preSolution - HasPerformanceSessions = true - EndGlobalSection GlobalSection(TestCaseManagementSettings) = postSolution CategoryFile = ClosedXML.vsmdi EndGlobalSection diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Style/XLBorder.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Style/XLBorder.cs index 592a5c2..387e431 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Style/XLBorder.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Style/XLBorder.cs @@ -69,13 +69,12 @@ { if (_container == null || _container.UpdatingStyle) return; - var wsContainer = _container as XLWorksheet; - if (wsContainer != null) + if (_container is XLWorksheet || _container is XLConditionalFormat) { - wsContainer.Style.Border.SetTopBorder(value); - wsContainer.Style.Border.SetBottomBorder(value); - wsContainer.Style.Border.SetLeftBorder(value); - wsContainer.Style.Border.SetRightBorder(value); + _container.Style.Border.SetTopBorder(value); + _container.Style.Border.SetBottomBorder(value); + _container.Style.Border.SetLeftBorder(value); + _container.Style.Border.SetRightBorder(value); } else { @@ -97,13 +96,12 @@ { if (_container == null || _container.UpdatingStyle) return; - var wsContainer = _container as XLWorksheet; - if (wsContainer != null) + if (_container is XLWorksheet || _container is XLConditionalFormat) { - wsContainer.Style.Border.SetTopBorderColor(value); - wsContainer.Style.Border.SetBottomBorderColor(value); - wsContainer.Style.Border.SetLeftBorderColor(value); - wsContainer.Style.Border.SetRightBorderColor(value); + _container.Style.Border.SetTopBorderColor(value); + _container.Style.Border.SetBottomBorderColor(value); + _container.Style.Border.SetLeftBorderColor(value); + _container.Style.Border.SetRightBorderColor(value); } else { diff --git a/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs b/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs index b9545be..f9cf5a0 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs @@ -14,115 +14,19 @@ { private static void Main(string[] args) { -int total = 5000; -var timer = System.Diagnostics.Stopwatch.StartNew(); -using (XLWorkbook wb = new XLWorkbook(XLEventTracking.Disabled)) -{ - using (var ws = wb.AddWorksheet("MergeCellsWorksheet")) - { - ws.RangeUsed().Style.Fill.BackgroundColor = XLColor.FromArgb(1); - // Insert some values - for (int i = 1; i <= total; i += 2) - { - ws.Cell(i, 1).Value = "Merge Cell 1"; - ws.Cell(i, 3).Value = "Merge Cell 2"; - ws.Cell(i, 4).Value = "Merge Cell 3"; - ws.Cell((i + 1), 4).Value = "Merge Cell 4"; - - ws.Range("A" + i + ":B" + (i + 1)).Merge(false); - ws.Range("C" + i + ":C" + (i + 1)).Merge(false); - ws.Range("D" + i + ":E" + i).Merge(false); - ws.Range("D" + (i + 1) + ":E" + (i + 1)).Merge(false); - } - } - wb.SaveAs(@"c:\temp\saved.xlsx"); -} -timer.Stop(); -Console.WriteLine("Took {0}s", timer.Elapsed.TotalSeconds); -Console.WriteLine("Done"); - Console.ReadKey(); - } - - static void MainX(string[] args) - { - DateTime start, end; - var times = new List(); - //foreach (var i in Enumerable.Range(1,10) ) - //{ - using (var wb = new XLWorkbook(@"c:\temp\test.xlsx")) - { - start = DateTime.Now; - wb.SaveAs(@"c:\temp\saved.xlsx"); - end = DateTime.Now; - var total = (end - start).TotalSeconds; - Console.WriteLine(total); - times.Add(total); - } - //} - Console.WriteLine("Average: " + times.Average()); + var workbook = new XLWorkbook(); + var worksheet = workbook.AddWorksheet("Test"); + worksheet.Cell(2, 2).SetValue("Text"); + var cf = worksheet.Cell(2, 2).AddConditionalFormat(); + var style = cf.WhenNotBlank(); + style + .Fill.SetBackgroundColor(XLColor.Red) + .Border.SetOutsideBorder(XLBorderStyleValues.Thick) + .Border.SetOutsideBorderColor(XLColor.Blue); + workbook.SaveAs(@"C:\temp\saved.xlsx"); Console.WriteLine("Done"); //Console.ReadKey(); } - } - class PivotTableScenarios - { - public void RunAll(XLWorkbook wb) - { - Add_Row_Labels_and_Sum(wb); - Add_category_on_row_and_SubCategory_on_column(wb); //not working - } - - private void Add_Row_Labels_and_Sum(XLWorkbook wb) - { - var ws = wb.Worksheets.Add("Add_Row_Labels_and_Sum"); - - ws.Cell("A1").Value = "Category"; - ws.Cell("A2").Value = "A"; - ws.Cell("A3").Value = "B"; - ws.Cell("A4").Value = "B"; - - ws.Cell("B1").Value = "SubCategory"; - ws.Cell("B2").Value = "X"; - ws.Cell("B3").Value = "Y"; - ws.Cell("B4").Value = "Z"; - - ws.Cell("C1").Value = "Number"; - ws.Cell("C2").Value = 100; - ws.Cell("C3").Value = 150; - ws.Cell("C4").Value = 75; - - var pivotTable = ws.Range("A1:C4").CreatePivotTable(ws.Cell("E1")); - pivotTable.RowLabels.Add("Category"); - pivotTable.RowLabels.Add("SubCategory"); - pivotTable.Values.Add("Number").SetSummaryFormula(XLPivotSummary.Sum); - - - } - - private void Add_category_on_row_and_SubCategory_on_column(XLWorkbook wb) - { - var ws = wb.Worksheets.Add("cat_on_row_SubCat_on_col"); - - ws.Cell("A1").Value = "Category"; - ws.Cell("A2").Value = "A"; - ws.Cell("A3").Value = "B"; - ws.Cell("A4").Value = "B" -; - ws.Cell("B1").Value = "SubCategory"; - ws.Cell("B2").Value = "X"; - ws.Cell("B3").Value = "Y"; - ws.Cell("B4").Value = "Z"; - - ws.Cell("C1").Value = "Number"; - ws.Cell("C2").Value = 100; - ws.Cell("C3").Value = 150; - ws.Cell("C4").Value = 75; - - var pivotTable = ws.Range("A1:C4").CreatePivotTable(ws.Cell("E1")); - pivotTable.RowLabels.Add("Category"); - pivotTable.ColumnLabels.Add("SubCategory"); - pivotTable.Values.Add("Number").SetSummaryFormula(XLPivotSummary.Sum); - } } } diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Styles/XLFillTests.cs b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Styles/XLFillTests.cs index 180dac8..37d06c7 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Styles/XLFillTests.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Styles/XLFillTests.cs @@ -38,5 +38,28 @@ var fill2 = new XLFill {PatternBackgroundColor = XLColor.Red}; Assert.IsFalse(fill1.Equals(fill2)); } + + [Test] + public void BackgroundWithConditionalFormat() + { + var workbook = new XLWorkbook(); + var worksheet = workbook.AddWorksheet("Test"); + worksheet.Cell(2, 2).SetValue("Text"); + var cf = worksheet.Cell(2, 2).AddConditionalFormat(); + var style = cf.WhenNotBlank(); + style + .Border.SetOutsideBorder(XLBorderStyleValues.Thick) + .Border.SetOutsideBorderColor(XLColor.Blue); + + Assert.AreEqual(style.Border.BottomBorder, XLBorderStyleValues.Thick); + Assert.AreEqual(style.Border.TopBorder, XLBorderStyleValues.Thick); + Assert.AreEqual(style.Border.LeftBorder, XLBorderStyleValues.Thick); + Assert.AreEqual(style.Border.RightBorder, XLBorderStyleValues.Thick); + + Assert.AreEqual(style.Border.BottomBorderColor, XLColor.Blue); + Assert.AreEqual(style.Border.TopBorderColor, XLColor.Blue); + Assert.AreEqual(style.Border.LeftBorderColor, XLColor.Blue); + Assert.AreEqual(style.Border.RightBorderColor, XLColor.Blue); + } } } \ No newline at end of file