diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeBase.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeBase.cs index 30c12a3..9ef7381 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeBase.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeBase.cs @@ -184,7 +184,7 @@ /// Merges this range. /// The contents and style of the merged cells will be equal to the first cell. /// - IXLRange Merge(); + IXLRange Merge(Boolean checkIntersect = true); /// /// Creates a named range out of this range. diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeBase.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeBase.cs index 559a675..69cc663 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeBase.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeBase.cs @@ -319,12 +319,7 @@ return CellsUsed(includeFormats); } - public IXLRange Merge() - { - return Merge(true); - } - - internal IXLRange Merge(Boolean checkIntersect) + public IXLRange Merge(Boolean checkIntersect = true) { if (checkIntersect) { diff --git a/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs b/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs index bcb5bbc..f3ca136 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Sandbox/Program.cs @@ -12,7 +12,39 @@ { class Program { - static void Main(string[] args) + private static void Main(string[] args) + { + + using (XLWorkbook wb = new XLWorkbook(XLEventTracking.Disabled)) + { + using (var ws = wb.AddWorksheet("MergeCellsWorksheet")) + { + int total = 5000; + var timer = System.Diagnostics.Stopwatch.StartNew(); + // 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); + } + timer.Stop(); + Console.WriteLine("Took {0}s", timer.Elapsed.TotalSeconds); + } + + wb.SaveAs(@"c:\temp\saved.xlsx"); + } + Console.WriteLine("Done"); + Console.ReadKey(); + } + + static void MainX(string[] args) { DateTime start, end; var times = new List();