@ApiOperation(value = "导出")
@RequestMapping(value = "/Export", method = {RequestMethod.POST})
public void Export(HttpServletResponse response, @ApiParam(name = "baseInfo", value = "baseInfo", required = true) @RequestBody baseParam param) throws Exception {
List<baseInfo> listAll = ecBaseInfoService.selectTest(param);
Workbook workbook = null;
Date start = new Date();
ExportParams params = new ExportParams("导出", "导出");
int talpage=(listAll.size()/10000)+1;
workbook = ExcelExportUtil.exportBigExcel(params, EcBaseInfoExport.class, new IExcelExportServer() {
@Override
//obj 总页数 page 第几页
public List<Object> selectListForExcelExport(Object obj, int page) {
int start=-1;
if (page==1){
start=0;
}
else {
start=(page-1)*10000;
}
List<Object> list = new ArrayList<Object>();
if (((int) obj) == page) {
for (int i = start; i < listAll.size(); i++) {
EcBaseInfoExport client = new EcBaseInfoExport();
client.setStatus(listAll.get(i).getStatus());
list.add(client);
}
} else {
for (int i = start; i < (start+10000); i++) {
if(i<listAll.size()) {
EcBaseInfoExport client = new EcBaseInfoExport();
client.setStatus(listAll.get(i).getStatus());
list.add(client);
} else{
break;
}
} }
return list;
}
}, talpage);
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode("licenseInfo", "UTF-8") + ".xlsx");
ServletOutputStream out = response.getOutputStream();
workbook.write(out);
out.close();
}
easypoi 大数据量的导出
最新推荐文章于 2024-05-22 10:55:01 发布