protected void updateMergeRegions() { for (Range templateRange : rangeDependencies.templates()) { Worksheet templateSheet = template.getSheetByName(templateRange.getSheet()); Worksheet resultSheet = result.getSheetByName(templateRange.getSheet()); if (templateSheet.getMergeCells() != null) { if (resultSheet.getMergeCells() == null) { CTMergeCells resultMergeCells = new CTMergeCells(); resultMergeCells.setParent(resultSheet); resultSheet.setMergeCells(resultMergeCells); } } for (Range resultRange : rangeDependencies.resultsForTemplate(templateRange)) { if (templateSheet.getMergeCells() != null && templateSheet.getMergeCells().getMergeCell() != null) { for (CTMergeCell templateMergeRegion : templateSheet.getMergeCells().getMergeCell()) { Range mergeRange = Range.fromRange(templateRange.getSheet(), templateMergeRegion.getRef()); if (templateRange.contains(mergeRange) || templateRange.isOneCellRange() && mergeRange.contains(templateRange)) { Offset offset = calculateOffset(templateRange, resultRange); Range resultMergeRange = mergeRange.copy().shift(offset.downOffset, offset.rightOffset); CTMergeCell resultMergeRegion = new CTMergeCell(); resultMergeRegion.setRef(resultMergeRange.toRange()); resultMergeRegion.setParent(resultSheet.getMergeCells()); resultSheet.getMergeCells().getMergeCell().add(resultMergeRegion); } } } } } }
protected void updateMergeRegions() { for (Range templateRange : rangeDependencies.templates()) { Worksheet templateSheet = template.getSheetByName(templateRange.getSheet()); Worksheet resultSheet = result.getSheetByName(templateRange.getSheet()); if (templateSheet.getMergeCells() != null) { if (resultSheet.getMergeCells() == null) { CTMergeCells resultMergeCells = new CTMergeCells(); resultMergeCells.setParent(resultSheet); resultSheet.setMergeCells(resultMergeCells); } } for (Range resultRange : rangeDependencies.resultsForTemplate(templateRange)) { if (templateSheet.getMergeCells() != null && templateSheet.getMergeCells().getMergeCell() != null) { for (CTMergeCell templateMergeRegion : templateSheet.getMergeCells().getMergeCell()) { Range mergeRange = Range.fromRange(templateRange.getSheet(), templateMergeRegion.getRef()); if (templateRange.contains(mergeRange) || templateRange.isOneCellRange() && mergeRange.contains(templateRange)) { Offset offset = calculateOffset(templateRange, resultRange); Range resultMergeRange = mergeRange.copy().shift(offset.downOffset, offset.rightOffset); CTMergeCell resultMergeRegion = new CTMergeCell(); resultMergeRegion.setRef(resultMergeRange.toRange()); resultMergeRegion.setParent(resultSheet.getMergeCells()); resultSheet.getMergeCells().getMergeCell().add(resultMergeRegion); } } } } } }