protected void updateConditionalFormatting() { for (Document.SheetWrapper sheetWrapper : result.getWorksheets()) { Worksheet worksheet; try { worksheet = sheetWrapper.getWorksheet().getContents(); } catch (Docx4JException e) { throw new RuntimeException("Unable to get worksheet contents"); } for (CTConditionalFormatting ctConditionalFormatting : worksheet.getConditionalFormatting()) { List<String> references = new ArrayList<>(); for (String ref : ctConditionalFormatting.getSqref()) { Range formulaRange = Range.fromRange(sheetWrapper.getName(), ref); for (Range templateRange : rangeDependencies.templates()) { if (templateRange.contains(formulaRange)) { List<Range> resultRanges = new ArrayList<>(rangeDependencies.resultsForTemplate(templateRange)); for (Range resultRange : resultRanges) { Offset offset = calculateOffset(templateRange, resultRange); Range shift = formulaRange.copy().shift(offset.downOffset, offset.rightOffset); references.add(shift.toRange()); } } } } ctConditionalFormatting.getSqref().clear(); ctConditionalFormatting.getSqref().addAll(references); } } }
protected void updateConditionalFormatting() { for (Document.SheetWrapper sheetWrapper : result.getWorksheets()) { Worksheet worksheet = sheetWrapper.getWorksheet().getJaxbElement(); for (CTConditionalFormatting ctConditionalFormatting : worksheet.getConditionalFormatting()) { List<String> references = new ArrayList<String>(); for (String ref : ctConditionalFormatting.getSqref()) { Range formulaRange = Range.fromRange(sheetWrapper.getName(), ref); for (Range templateRange : rangeDependencies.templates()) { if (templateRange.contains(formulaRange)) { List<Range> resultRanges = new ArrayList<Range>(rangeDependencies.resultsForTemplate(templateRange)); for (Range resultRange : resultRanges) { Offset offset = calculateOffset(templateRange, resultRange); Range shift = formulaRange.copy().shift(offset.downOffset, offset.rightOffset); references.add(shift.toRange()); } } } } ctConditionalFormatting.getSqref().clear(); ctConditionalFormatting.getSqref().addAll(references); } } }