以前一直接触的是单sheet导出,这次的需求换成了多sheet导出,算是一个难点所以得记录一下

底层关键的代码就是:

private static void defaultExport(List<Map<String, Object>> list, String fileName, HttpServletResponse response) throws IOException {
Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);
downLoadExcel(fileName, response, workbook);
}

业务层:

1. 准备好需要导出的sheetlist

2.创建Map,将title,entity,data(要导出的数据)放入Map

3. 将map塞入sheetList

有几个sheet就循环多少次,这里的代码可以做简化

 List<Map<String, Object>> sheetsList = new ArrayList<>();
// 第一个sheet页sheet得名称
ExportParams deptParams = new ExportParams();
deptParams.setSheetName("科室接诊数据报表");
//创建sheet1使用多map
Map<String,Object> deptMap = new HashMap<>();
//title的参数为ExportParams类型
deptMap.put("title",deptParams);
//模版导出对应的实体类型
deptMap.put("entity",ExportDepartDto.class);
//sheet中要填充的数据
deptMap.put("data",exportDepartDtos);
sheetsList.add(deptMap); ExportParams docParams = new ExportParams();
docParams.setSheetName("医生接诊数据报表");
Map<String,Object> docMap = new HashMap<>();
docMap.put("title",docParams);
docMap.put("entity",ExportDotorDto.class);
docMap.put("data",exportDotorDtos);
sheetsList.add(docMap); //导出
//public static void exportExcel(List<Map<String, Object>> list, String fileName, HttpServletResponse response)
try {
ExcelUtils.exportExcel(sheetsList,"科室医生接诊数据报表",response);
} catch (IOException e) {
log.error("导出报错",e);
}

easypoi多sheet导出的更多相关文章

  1. 超级简单POI多sheet导出Excel实战

    本章节主要基于上一章节单sheet导出的基础上进行改造实现多sheet的导出,上一章节参考地址:https://www.cnblogs.com/sunny1009/p/11437005.html 1. ...

  2. NPOI大数据量多个sheet导出源码(原)

    代码如下: #region NPOI大数据量多个sheet导出 /// <summary> /// 大数据量多个sheet导出 /// </summary> /// <t ...

  3. vue springboot利用easypoi实现简单导出

    vue springboot利用easypoi实现简单导出 前言 一.easypoi是什么? 二.使用步骤 1.传送门 2.前端vue 3.后端springboot 3.1编写实体类(我这里是dto, ...

  4. SpringBoot加Poi仿照EasyPoi实现Excel导出

    POI提供API给Java程序对Microsoft Office格式档案读和写的功能,详细功能可以直接查阅API,因为使用EasyPoi过程中总是缺少依赖,没有搞明白到底是什么坑,索性自己写一个简单工 ...

  5. java利用EasyPoi实现Excel导出功能

    easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言( ...

  6. java导出excel单sheet超过65535数据报错拆分多sheet导出

    在开发过程中,数据导出excel的功能很常见,数据少,到没问题,一旦超过65535条数据就会报错,因此可以考虑导出多个sheet来解决,代码如下: private static void export ...

  7. 20170301 Excel 分多个sheet 导出

     要么上传个EXCEL模板 里面已经有规定好的SHEET页了   要么直接打开个EXCEL  代码里ADDsheet页来做     就是这么点区别 [园工]CD-ABAP-win<allenjj ...

  8. 关于EasyPoi导出Excel

    如果你觉得Easypoi不好用,喜欢用传统的poi,可以参考我的这篇博客:Springmvc导出Excel(maven) 当然了,万变不离其宗.Easypoi的底层原理还是poi.正如MyBatis ...

  9. java通过POI和easypoi实现Excel的导出

    前言 在工作经常会遇到excel导出报表的功能,自己也做过一些,然后在项目里看到同事封装的一个excel导出工具类,着实不错,拿来分享一下.然后,又在网上看到一个使用easypoi实现cxcel导出的 ...

  10. 报表导出之easypoi的应用

    报表导出有很多种方法,像之前我有写过的jxl,poi,jasperreport又或者各种商业软件,这次来简单介绍下用了许久的开源轮子easypoi. easypoi的底层原理就不介绍了.因为官方文档的 ...

随机推荐

  1. python 依据IP查找其所属网段

    # coding = 'utf-8' # 依据excel表格中所提供的IP,在另一张表中查找其所属网段 import pandas as pd import IPy df = pd.read_exce ...

  2. postgresql索引使用情况及坏索引处理

    1.postgresql中索引系统视图pg_stat_user_indexes TEST=# \d+ sys_stat_user_indexes View "SYS_CATALOG.sys_ ...

  3. Kafka主题,分区,副本介绍

    介绍 今天分享一下kafka的主题(topic),分区(partition)和副本(replication),主题是Kafka中很重要的部分,消息的生产和消费都要以主题为基础,一个主题可以对应多个分区 ...

  4. .NET静态代码织入——肉夹馍(Rougamo) 发布1.4.0

    肉夹馍(https://github.com/inversionhourglass/Rougamo)通过静态代码织入方式实现AOP的组件,其主要特点是在编译时完成AOP代码织入,相比动态代理可以减少应 ...

  5. left join(二)

    left join 通俗的解释:以左表为主表,返回左表的所有行,如果右表中没有匹配,则依然会有左表的记录,右表字段用null填充.看起来非常好理解,但实际操作的过程中可能会有一些很容易被忽略的点. 一 ...

  6. Jmix- 业务系统高效开发的少代码平台

    企业在数字化转型的过程中,都面临将现有的业务流程进行"软件化"的过程.然而,在我们的印象中,通常会觉得针对业务系统的软件开发不是特别高效.这背后有很多原因,从开发角度看,有一个主要 ...

  7. 2021昆明B

    容斥 + 矩形面积并 + 状压dp B-Blocks_第46届ICPC亚洲区域赛(昆明)(正式赛) (nowcoder.com) 题意 给出一个矩形A \((0,0),(W,H)\), 给出 \(n\ ...

  8. Android获取获取悬浮窗一下的view办法

    getwindows可以获取当前手机屏幕所有有交互功能的view getactitywindows只能获取最顶层有交互的view

  9. .NET CORE 控制台程序在CentOS 7 后台运行指令

    1.后台运行服务 >/dev/null & 不输出任何信息 & 记录控制台所有信息 记录错误信息 :/dev/null 2>log & 指令:nohup XXX.d ...

  10. 【C学习笔记】day4-1 在屏幕上输出以下图案

    1.在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** ********* ******* ...