diff --git a/gxoffice/src/main/java/com/genexus/msoffice/excel/poi/xssf/ExcelCells.java b/gxoffice/src/main/java/com/genexus/msoffice/excel/poi/xssf/ExcelCells.java index d0405b2d9..c9cb1edf6 100644 --- a/gxoffice/src/main/java/com/genexus/msoffice/excel/poi/xssf/ExcelCells.java +++ b/gxoffice/src/main/java/com/genexus/msoffice/excel/poi/xssf/ExcelCells.java @@ -897,7 +897,7 @@ public Boolean mergeCells() { CellRangeAddress cellRange = new CellRangeAddress(rowStartIdx, rowEndIdx, colStartIdx, colEndIdx); for (int i = 0; i < pSelectedSheet.getNumMergedRegions(); i++){ CellRangeAddress mergedRegion = pSelectedSheet.getMergedRegion(i); - if (cellRange.intersects(cellRange)){ + if (cellRange.intersects(mergedRegion)){ pSelectedSheet.removeMergedRegion(i); } } diff --git a/gxoffice/src/test/java/com/genexus/msoffice/excel/ExcelSpreadsheetTest.java b/gxoffice/src/test/java/com/genexus/msoffice/excel/ExcelSpreadsheetTest.java index e474e24e1..8c4334dbe 100644 --- a/gxoffice/src/test/java/com/genexus/msoffice/excel/ExcelSpreadsheetTest.java +++ b/gxoffice/src/test/java/com/genexus/msoffice/excel/ExcelSpreadsheetTest.java @@ -617,6 +617,36 @@ public void testMergeCells() { excel.close(); } + @Test + public void testMergeMultipleCells() { + ExcelSpreadsheetGXWrapper excel = create("testMergeCells-2"); + excel.getCells(1, 1, 2, 5).mergeCells(); + excel.getCells(1, 1, 2, 5).setText("merged cells 1"); + + excel.getCells(5, 1, 2, 5).mergeCells(); + excel.getCells(5, 1, 2, 5).setText("merged cells 2"); + + excel.getCells(8, 1, 2, 5).mergeCells(); + excel.getCells(8, 1, 2, 5).setText("merged cells 3"); + + excel.save(); + excel.close(); + } + + @Test + public void testMergeMultipleCellsIntersect() { + ExcelSpreadsheetGXWrapper excel = create("testMergeCells-3"); + excel.getCells(1, 1, 8, 5).mergeCells(); + excel.getCells(1, 1, 8, 5).setText("merged cells 1"); + + excel.getCells(5, 1, 8, 5).mergeCells(); + excel.getCells(5, 1, 8, 5).setText("merged cells 2"); + + excel.save(); + excel.close(); + } + + @Test public void testMergeNestedCells() { ExcelSpreadsheetGXWrapper excel = create("testMergeNestedCells");