/** * Returns the list of merged regions. If you want multiple regions, this is * faster than calling {@link #getMergedRegion(int)} each time. * * @return the list of merged regions */ @Override public List<CellRangeAddress> getMergedRegions() { List<CellRangeAddress> addresses = new ArrayList<>(); CTMergeCells ctMergeCells = worksheet.getMergeCells(); if(ctMergeCells == null) { return addresses; } for(CTMergeCell ctMergeCell : ctMergeCells.getMergeCellArray()) { String ref = ctMergeCell.getRef(); addresses.add(CellRangeAddress.valueOf(ref)); } return addresses; }
/** * Returns the merged region at the specified index. If you want multiple * regions, it is faster to call {@link #getMergedRegions()} than to call * this each time. * * @return the merged region at the specified index */ @Override public CellRangeAddress getMergedRegion(int index) { CTMergeCells ctMergeCells = worksheet.getMergeCells(); if(ctMergeCells == null) { throw new IllegalStateException("This worksheet does not contain merged regions"); } CTMergeCell ctMergeCell = ctMergeCells.getMergeCellArray(index); String ref = ctMergeCell.getRef(); return CellRangeAddress.valueOf(ref); }
/** * @return the merged region at the specified index * @throws IllegalStateException if this worksheet does not contain merged regions */ public CellRangeAddress getMergedRegion(int index) { CTMergeCells ctMergeCells = worksheet.getMergeCells(); if(ctMergeCells == null) throw new IllegalStateException("This worksheet does not contain merged regions"); CTMergeCell ctMergeCell = ctMergeCells.getMergeCellArray(index); String ref = ctMergeCell.getRef(); return CellRangeAddress.valueOf(ref); }
private void collectMergedCells() { mergedCellMap = new HashMap<String, MergedRegion>(); if (sheet.getCTWorksheet().getMergeCells() == null) { return; } for (CTMergeCell mergeCell : sheet.getCTWorksheet().getMergeCells().getMergeCellArray()) { String ref = mergeCell.getRef(); String refBase = ref.split(":")[0]; mergedCellMap.put(refBase, new MergedRegion(ref)); } mergedRegions = mergedCellMap.values(); }
/** * Returns the list of merged regions. If you want multiple regions, this is * faster than calling {@link #getMergedRegion(int)} each time. * * @return the list of merged regions */ @Override public List<CellRangeAddress> getMergedRegions() { List<CellRangeAddress> addresses = new ArrayList<>(); CTMergeCells ctMergeCells = worksheet.getMergeCells(); if(ctMergeCells == null) { return addresses; } for(CTMergeCell ctMergeCell : ctMergeCells.getMergeCellArray()) { String ref = ctMergeCell.getRef(); addresses.add(CellRangeAddress.valueOf(ref)); } return addresses; }
/** * Returns the merged region at the specified index. If you want multiple * regions, it is faster to call {@link #getMergedRegions()} than to call * this each time. * * @return the merged region at the specified index */ @Override public CellRangeAddress getMergedRegion(int index) { CTMergeCells ctMergeCells = worksheet.getMergeCells(); if(ctMergeCells == null) { throw new IllegalStateException("This worksheet does not contain merged regions"); } CTMergeCell ctMergeCell = ctMergeCells.getMergeCellArray(index); String ref = ctMergeCell.getRef(); return CellRangeAddress.valueOf(ref); }