51-【springboot+easypoi】实现大数据量excel导出


  • 一、前言

  • 二.代码实现逻辑

  • 三.总结


一、前言

环境:SpringBoot 2.1.5.RELEASE

需求:利用SpringBoot+easypoi实现大数据量的导出excel

二.代码实现逻辑

 @RequestMapping("export")
    public void export(HttpServletResponse response) {
        Map<String, Object> params = new HashMap<>();
        Workbook workbook = bigExcel(1, params, nullnew ExportParams("海贼王""海贼王"), new Page<>());
        ExcelExportUtil.closeExportBigExcel();
        downLoadExcel("海贼王.xls", response, workbook);
    }


    private Workbook bigExcel(int pageNum, Map<String, Object> params, Workbook workbook, ExportParams exportParams, Page<SysUser> page) {
        //分页查询数据
        page.setCurrent(pageNum);
        page.setSize(1000);
        page.setCondition(params);
        page = this.getData(sysUserService.queryPage(page));
        List<SysUser> users = FastJsonUtils.toList(FastJsonUtils.toJSONString(page.getRecords()), SysUser.class);

        workbook = ExcelExportUtil.exportBigExcel(exportParams, SysUser.classusers);

      //如果不是最后一页,递归查询
        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());
        }
    }
    

三.总结

上面的使用是参考的网上的实现逻辑,但是其实实际使用当中的导出其实是可以进行抽象封装的,如果有需求请关注公众号参考我的下一篇【SpringBoot中大数据导出excel总结】


原文始发于微信公众号(Java时间屋):51-【springboot+easypoi】实现大数据量excel导出

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/251859.html

(0)
java小白的头像java小白

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!