java使用ExcelExportUtil.exportBigExcel导出大文件(非分页)

网上看到很多使用这个方法处理的时候,大多使用的分页进行查询,但是当遇到特殊的产品需求,比如A类型数据,多条记录就显示多行,B类型的要求存在多条记录时,就进行汇总后只显示一条,这就导致无法使用分页进行数据查询,因为分页会发生数据遗漏,比如你500条每页,但有的结果在第2页,这就导致在处理的时候,数据遗漏。

不多废话了,直接上代码。

我尝试使用ExcelExportUtil.exportBigExcel来实现数据查询:

java 复制代码
File file = createFile();//生成本地文件
ExportParams params = new ExportParams();
params.setSheetName("aaaa");
Workbook workbook=null;
FileOutputStream fos = new FileOutputStream(file);

IExcelExportServer iExcelExportServer = new IExcelExportServer() {
	//自动会被循环调用,i的初始值为1
    @Override
    public List<Object> selectListForExcelExport(Object idObj, int i) {
        List<String> idList=(List)idObj;
        if(i>idList.size()){
            return null;
        }
        String id=idList.get(i-1);
        List<Object> listObj = new ArrayList<Object>();
        List<CCCC> listDateByid = ccccMapper.selectList("",id);
        return listObj;
    }
};

workbook = ExcelExportUtil.exportBigExcel(params, CCC.class, iExcelExportServer, idList);
workbook.write(fos);
相关推荐
兮动人4 分钟前
Eureka注册中心通用写法和配置
java·云原生·eureka
什么半岛铁盒10 分钟前
C++11 多线程与并发编程
c语言·开发语言·c++
爱编程的小白L2 小时前
基于springboot志愿服务管理系统设计与实现(附源码)
java·spring boot·后端
Kiri霧4 小时前
Linux下的Rust 与 C 的互操作性解析
c语言·开发语言·rust
聪明的笨猪猪4 小时前
Java Redis “持久化”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
雪芽蓝域zzs5 小时前
uniapp AES 加密解密
开发语言·uni-app·c#
聪明的笨猪猪5 小时前
Java Redis “核心基础”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
雨夜的星光5 小时前
Python JSON处理:load/loads/dump/dumps全解析
开发语言·python·json
fen_fen6 小时前
Java打包时,不将本地Jar打包到项目的最终 JAR 中
开发语言·python·pycharm
奋斗的小monkey7 小时前
Spring Boot 3.x核心特性与性能优化实战
java·spring boot·微服务·性能优化·响应式编程