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);
相关推荐
满天星830357712 小时前
【C++】智能指针
c语言·开发语言·c++·visual studio
一缕南风12 小时前
Spring Boot 响应拦截器(Jackson)实现时间戳自动添加
java·spring boot·后端·拦截器
期待のcode12 小时前
Docker容器
java·docker·容器
Homeey12 小时前
深入理解 synchronized:从硬件原子性到并发架构设计
java·后端
ZhangBlossom12 小时前
【Java】EasyExcel实现导入导出数据库中的数据为Excel
java·数据库·excel
hj104312 小时前
php上传企业微信附件的方法
开发语言·php·企业微信
L.EscaRC13 小时前
Lua语言知识与应用解析
java·python·lua
S7777777S13 小时前
easyExcel单元格动态合并示例
java·excel
刘个Java13 小时前
对接大疆上云api---实现直播效果
java
用户95451568116213 小时前
== 和 equals 区别及使用方法组件封装方法
java