diff --git a/jxls-poi/src/test/java/org/jxls/TestWorkbook.java b/jxls-poi/src/test/java/org/jxls/TestWorkbook.java index a526f5d9..0bafc6bc 100644 --- a/jxls-poi/src/test/java/org/jxls/TestWorkbook.java +++ b/jxls-poi/src/test/java/org/jxls/TestWorkbook.java @@ -180,4 +180,11 @@ public void close() { } } } + + /** + * @return all merged cell regions of current sheet + */ + public List getMergedRegions() { + return sheet.getMergedRegions(); + } } diff --git a/jxls-poi/src/test/java/org/jxls3/Issue259Test.java b/jxls-poi/src/test/java/org/jxls3/Issue259Test.java new file mode 100644 index 00000000..27fd57ae --- /dev/null +++ b/jxls-poi/src/test/java/org/jxls3/Issue259Test.java @@ -0,0 +1,33 @@ +package org.jxls3; + +import static org.junit.Assert.assertTrue; + +import java.util.HashMap; +import java.util.List; + +import org.apache.poi.ss.util.CellRangeAddress; +import org.junit.Test; +import org.jxls.Jxls3Tester; +import org.jxls.TestWorkbook; +import org.jxls.transform.poi.JxlsPoiTemplateFillerBuilder; + +/** + * Merged cell region outside jx:area is missing + */ +public class Issue259Test { + + @Test + public void test() { + // Test + Jxls3Tester tester = Jxls3Tester.xlsx(getClass()); + tester.test(new HashMap<>(), JxlsPoiTemplateFillerBuilder.newInstance()); + + // Verify + try (TestWorkbook w = tester.getWorkbook()) { + w.selectSheet(0); + List mergedRegions = w.getMergedRegions(); + assertTrue("Missing merged region B5:C5", mergedRegions.stream().anyMatch(i -> "B5:C5".equals(i.formatAsString()))); + assertTrue("Missing merged region A1:C3", mergedRegions.stream().anyMatch(i -> "A1:C3".equals(i.formatAsString()))); + } + } +} diff --git a/jxls-poi/src/test/resources/org/jxls3/Issue259Test.xlsx b/jxls-poi/src/test/resources/org/jxls3/Issue259Test.xlsx new file mode 100644 index 00000000..11c38496 Binary files /dev/null and b/jxls-poi/src/test/resources/org/jxls3/Issue259Test.xlsx differ