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();