/***excel行自动合并*listData 待导出数据*/ public void test(SXSSFSheet sheet,List<FanManagerExt> listData){//备份上一条数据FanManagerExt entityOld = new FanManagerExt();for(int i=0;i<listData.size();i++){//当前行数据FanManagerExt entity= listData.get(i);//实体字段集合(有序)Field[] fields = entity.getClass().getDeclaredFields();Field[] fieldOld = entityOld.getClass().getDeclaredFields();for(int a=0;a<fields.length;a++){fields[a].setAccessible(true);fieldOld[a].setAccessible(true);//将上下两行同列数据强制转换为字符串进行比较,相同设置单元格合并try {if(String.valueOf(fieldOld[a].get(entityOld)).equals(String.valueOf(fields[a].get(entity)))){CellRangeAddress cra=new CellRangeAddress(i, i+1, a+1, a+1);//在sheet里设置合并单元格sheet.addMergedRegion(cra);}} catch (IllegalAccessException e) {e.printStackTrace();}}//对象深拷贝 BeanUtils.copyProperties(entity,entityOld);}}
如果觉得《poi导出excel 行相同数据自动合并单元格》对你有帮助,请点赞、收藏,并留下你的观点哦!