diff --git a/src/java/org/apache/poi/hssf/record/cf/CellRangeUtil.java b/src/java/org/apache/poi/hssf/record/cf/CellRangeUtil.java index 5769e88c3..b795d0228 100644 --- a/src/java/org/apache/poi/hssf/record/cf/CellRangeUtil.java +++ b/src/java/org/apache/poi/hssf/record/cf/CellRangeUtil.java @@ -18,7 +18,6 @@ package org.apache.poi.hssf.record.cf; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import org.apache.poi.ss.util.CellRangeAddress; @@ -96,7 +95,10 @@ public final class CellRangeUtil if(cellRanges.length < 1) { return cellRanges; } - List temp = mergeCellRanges(Arrays.asList(cellRanges)); + + List lst = new ArrayList(); + for(CellRangeAddress cr : cellRanges) lst.add(cr); + List temp = mergeCellRanges(lst); return toArray(temp); } private static List mergeCellRanges(List cellRangeList) diff --git a/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java b/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java index 7b9989e47..ced198a5a 100644 --- a/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java +++ b/src/testcases/org/apache/poi/hssf/record/cf/TestCellRange.java @@ -184,4 +184,12 @@ public final class TestCellRange extends TestCase assertEquals(100, box9x9.getNumberOfCells()); assertEquals(121, box10to20c.getNumberOfCells()); } + + public void testMergeCellRanges() { + CellRangeAddress cr1 = CellRangeAddress.valueOf("A1:B1"); + CellRangeAddress cr2 = CellRangeAddress.valueOf("A2:B2"); + CellRangeAddress[] cr3 = CellRangeUtil.mergeCellRanges(new CellRangeAddress[]{cr1, cr2}); + assertEquals(1, cr3.length); + assertEquals("A1:B2", cr3[0].formatAsString()); + } }