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);
相关推荐
Elias不吃糖几秒前
Java 常用数据结构:API + 实现类型 + 核心原理 + 例子 + 选型与性能(完整版)
java·数据结构·性能·实现类
会游泳的石头1 分钟前
构建企业级知识库智能问答系统:基于 Java 与 Spring Boot 的轻量实现
java·开发语言·spring boot·ai
m0_748229991 分钟前
Laravel4.x核心更新全解析
开发语言·php
j_xxx404_4 分钟前
C++算法入门:滑动窗口合集(长度最小的子数组|无重复字符的最长字串|)
开发语言·c++·算法
m0_5613596710 分钟前
C++中的过滤器模式
开发语言·c++·算法
HL_风神11 分钟前
QT事件循环机制源码学习
开发语言·qt·学习
牵牛老人14 分钟前
【Qt上位机与下位机交互数据组装与解析:全类型数据转换实战指南】
开发语言·qt·交互
郝学胜-神的一滴15 分钟前
B站:从二次元到AI创新孵化器的华丽转身 | Google Cloud峰会见闻
开发语言·人工智能·算法
新缸中之脑15 分钟前
Google:Rust实战评估
开发语言·后端·rust
说给风听.17 分钟前
Maven 配置实战:从环境搭建到 Idea 关联(超详细)
java·maven·intellij-idea