packagecom.alibaba.excel.write.merge;importorg.apache.poi.ss.usermodel.Cell;importorg.apache.poi.ss.usermodel.Sheet;importorg.apache.poi.ss.util.CellRangeAddress;importcom.alibaba.excel.metadata.Head;/** * The regions of the loop merge * * @author zhuangjiaju */publicclassLoopMergeStrategyextendsAbstractMergeStrategy{privateinteachRow;privateinteachColumn;publicLoopMergeStrategy(inteachRow,inteachColumn){if(eachRow<1||eachColumn<1){thrownewIllegalArgumentException("All parameters must be greater than 1");}this.eachRow=eachRow;this.eachColumn=eachColumn;}@Overrideprotectedvoidmerge(Sheetsheet,Cellcell,Headhead,intrelativeRowIndex){if(relativeRowIndex%eachRow==0&&head.getColumnIndex()%eachColumn==0){CellRangeAddresscellRangeAddress=newCellRangeAddress(cell.getRowIndex(),cell.getRowIndex()+eachRow,cell.getColumnIndex(),cell.getColumnIndex()+eachColumn);sheet.addMergedRegion(cellRangeAddress);}}}