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);
相关推荐
黎雁·泠崖几秒前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
黎雁·泠崖5 分钟前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言
独好紫罗兰10 分钟前
对python的再认识-基于数据结构进行-a006-元组-拓展
开发语言·数据结构·python
NuageL11 分钟前
原始Json字符串转化为Java对象列表/把中文键名变成英文键名
java·spring boot·json
C++ 老炮儿的技术栈14 分钟前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
yuuki23323324 分钟前
【C++】继承
开发语言·c++·windows
222you25 分钟前
Redis的主从复制和哨兵机制
java·开发语言
江湖有缘29 分钟前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
牛奔31 分钟前
如何理解 Go 的调度模型,以及 G / M / P 各自的职责
开发语言·后端·golang
梵刹古音32 分钟前
【C++】 析构函数
开发语言·c++