From 3d92606da34c7a6628822363d787d36976e6b4b1 Mon Sep 17 00:00:00 2001 From: Gonzalo Date: Wed, 15 Dec 2021 13:09:25 -0300 Subject: [PATCH] Merge Cell error --- .../msoffice/excel/poi/xssf/ExcelCells.java | 2 +- .../msoffice/excel/ExcelSpreadsheetTest.java | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) 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");