sheetName = (String)stack.getValue("sheetName");
if(sheetName != null) wb.setSheetName(wb.getSheetIndex(sheet), sheetName);
Map<ExcelBlock, List<CellRangeAddress>> mergedRegions = new HashMap<ExcelBlock, List<CellRangeAddress>>();
for(int i=0; i< sheet.getNumMergedRegions(); i++){
CellRangeAddress cra = sheet.getMergedRegion(i);
logger.debug("Merged Region:[{}-{}]",
ExcelUtil.getCellIndex(cra.getFirstRow(), cra.getFirstColumn()),
ExcelUtil.getCellIndex(cra.getLastRow(), cra.getLastColumn()));
for(ExcelBlock blockDefinition: sheetDefinition.getSortedExcelBlocks()){
if(cra.getFirstRow() >= blockDefinition.getStartRow() &&
cra.getFirstColumn() >= blockDefinition.getStartCol() &&
cra.getLastRow() <= blockDefinition.getEndRow() &&
cra.getLastColumn() <= blockDefinition.getEndCol()){
List<CellRangeAddress> cras = mergedRegions.get(blockDefinition);
if(cras == null){
cras = new ArrayList<CellRangeAddress>();
mergedRegions.put(blockDefinition, cras);
}