我是靠谱客的博主 调皮牛排,这篇文章主要介绍poi导出excel,行相同数据自动合并单元格,现在分享给大家,希望可以做个参考。

/**

*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,行相同数据自动合并单元格的全部内容,更多相关poi导出excel内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部