我是靠谱客的博主 专注发卡,最近开发中收集的这篇文章主要介绍easypoi 大数据 百万_【springboot+easypoi】大数据量excel导出,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

01

上次写了一行代码解决导出导入,没看的小伙伴建议先看下《一行代码做Excel导入导出》,但是实际业务中遇到一个问题,如果数据里比较大的时候,例如10w+数据一次导出,就会出现卡死情况,继续看官方文档,有大数据量导出方法,实现如下

@RequestMapping("export")

public void export(HttpServletResponse response) {

Map params = new HashMap<>();

Workbook workbook = bigExcel(1, params, null, new ExportParams("海贼王", "海贼王"),         new Page<>());

ExcelExportUtil.closeExportBigExcel();

downLoadExcel("海贼王.xls", response, workbook);

}

private Workbook bigExcel(int pageNum, Map params, Workbook workbook, ExportParams exportParams, Page page) {

page.setCurrent(pageNum);

page.setSize(1000);

page.setCondition(params);

page = this.getData(sysUserService.queryPage(page));

List users =             FastJsonUtils.toList(FastJsonUtils.toJSONString(page.getRecords()), SysUser.class);

workbook = ExcelExportUtil.exportBigExcel(exportParams, SysUser.class, users);

if (page.getPages() > pageNum) {

bigExcel(pageNum + 1, params, workbook, exportParams, page);

}

return workbook;

}

private void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) {

try {

response.setCharacterEncoding("UTF-8");

response.setHeader("Content-Disposition", "attachment;filename=" +         URLEncoder.encode(fileName, "UTF-8"));

response.setHeader("content-Type", "application/vnd.ms-excel");

workbook.write(response.getOutputStream());

} catch (IOException e) {

throw new NormalException(e.getMessage());

}

}

动动手指摁一下吧

此处按一下又不会怀孕

最后

以上就是专注发卡为你收集整理的easypoi 大数据 百万_【springboot+easypoi】大数据量excel导出的全部内容,希望文章能够帮你解决easypoi 大数据 百万_【springboot+easypoi】大数据量excel导出所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部