网上看到很多使用这个方法处理的时候,大多使用的分页进行查询,但是当遇到特殊的产品需求,比如A类型数据,多条记录就显示多行,B类型的要求存在多条记录时,就进行汇总后只显示一条,这就导致无法使用分页进行数据查询,因为分页会发生数据遗漏,比如你500条每页,但有的结果在第2页,这就导致在处理的时候,数据遗漏。
不多废话了,直接上代码。
我尝试使用ExcelExportUtil.exportBigExcel来实现数据查询:
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);