EasyExcel 实现多个Sheet页导出

1 Maven依赖

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.6</version>
        </dependency>

2 实现代码

/**
     * 导出多个sheet页数据
     *
     * @param response
     */
    @GetMapping("/exportMultiSheet")
    public void exportMultiSheet(HttpServletResponse response) {
        try {
            //第一个Sheet页数据
            List<List<Object>> dataList = new ArrayList<>();
            List<Object> headList = new ArrayList<>(Arrays.asList(new Object[]{"表头1", "表头2", "表头3"}));
            dataList.add(headList);

            //第二个Sheet页数据
            List<List<Object>> dataList2 = new ArrayList<>();
            List<Object> headList2 = new ArrayList<>(Arrays.asList(new Object[]{"表头1", "表头2", "表头3", "表头4"}));
            dataList2.add(headList2);
            String fileName = new String("文件名称.xls".getBytes(), "UTF-8");
            response.addHeader("Content-Disposition", "filename=" + fileName);
            //设置类型,扩展名为.xls
            response.setContentType("application/vnd.ms-excel");

            //将数据写入sheet页中
            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
            WriteSheet writeSheet1 = EasyExcel.writerSheet(0, "sheet1").build();
            WriteSheet writeSheet2 = EasyExcel.writerSheet(1, "sheet2").build();
            excelWriter.write(dataList, writeSheet1);
            excelWriter.write(dataList2, writeSheet2);
            excelWriter.finish();
            response.flushBuffer();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

3 调试结果

经验分享 程序员 微信小程序 职场和发展