当前位置: 首页 > news >正文

easy-poi实现动态列(标题)、多sheet导出excel

一个sheet动态导出、伪代码,创建填充后的workbook对象

List<Map<String, Object>>list = new ArrayList<Map<String, Object>>();
HashMap<String, Object> map = new HashMap<>();
map.put("name", "小明");
map.put("age", "18");
list1.add(map);
List<ExcelExportEntity> entitys=new ArrayList<>();
entitys.add(new ExcelExportEntity("名字" ,"name"));
entitys.add(new ExcelExportEntity("年龄" ,"age"));
ExportParams exportParams = new ExportParams(null, "sheet1名字");
exportParams.setType(ExcelType.XSSF);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);

多个sheet动态导出、伪代码,创建填充后的workbook对象

List<Map<String, Object>> sheet1ListMap= new ArrayList<Map<String, Object>>();List<Map<String, Object>> sheet2ListMap= new ArrayList<Map<String, Object>>();List<ExcelExportEntity> sheet1List=new ArrayList<>();
sheet1List.add(new ExcelExportEntity("名字" ,"name"));
sheet1List.add(new ExcelExportEntity("年龄" ,"age"));List<ExcelExportEntity> sheet2List=new ArrayList<>();
sheet2List.add(new ExcelExportEntity("学号" ,"sno"));
sheet2List.add(new ExcelExportEntity("课程" ,"course"));ExportParams exportParams1 = new ExportParams(null, "sheet1名字");
exportParams1.setType(ExcelType.XSSF);ExportParams exportParams2 = new ExportParams(null, "sheet2名字");
exportParams2.setType(ExcelType.XSSF);Workbook workbook = new XSSFWorkbook();
ExcelExportService service = new ExcelExportService();
// 创建sheet1,执行的先后顺序
service.createSheetForMap(workbook, exportParams1, sheet1List, sheet1ListMap);
// 创建sheet2
service.createSheetForMap(workbook, exportParams2, sheet2List, sheet2ListMap);

 注意:方法createSheetForMap()是有使用限制的,导出的数据不能为null。假如需要导出只用表头,没有数据的的表单,需要创建对应的实体类,使用注解的方式

参考文档:easy-poi实现动态列(标题)、多sheet导出excel文档等操作-附完整测试用例

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 爬虫:Sentry-Span参数逆向
  • mysql数据库被偷家,数据全部丢失。还勒索我给他比特币
  • vue extend的作用和使用方法
  • vue3 + tsx 表格 Action 单独封装组件用法
  • three完全开源扩展案例02-跳动的音乐
  • Blender新手入门笔记收容所(一)
  • Apache Seata应用侧启动过程剖析——RM TM如何与TC建立连接
  • 【LeetCode:1071. 字符串的最大公因子 + 模拟 + 最大公约数】
  • 【PythonRS】基于Python分块处理大型遥感影像的方法
  • 计算机网络浅谈—什么是 OSI 模型?
  • 普中51单片机:定时器与计数器详解及应用(七)
  • 【eNSP模拟实验】三层交换机实现VLAN通信
  • STL(一)
  • 如何将canvas画布变成一张img图片
  • 光伏电站逆变器选型方法
  • 【RocksDB】TransactionDB源码分析
  • Angular4 模板式表单用法以及验证
  • MobX
  • Spring-boot 启动时碰到的错误
  • 从重复到重用
  • 分布式任务队列Celery
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 两列自适应布局方案整理
  • 漂亮刷新控件-iOS
  • 入手阿里云新服务器的部署NODE
  • 使用 QuickBI 搭建酷炫可视化分析
  • 赢得Docker挑战最佳实践
  • 用 Swift 编写面向协议的视图
  • 在Docker Swarm上部署Apache Storm:第1部分
  • - 转 Ext2.0 form使用实例
  • 如何在招聘中考核.NET架构师
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • ## 基础知识
  • ###项目技术发展史
  • #1014 : Trie树
  • #include<初见C语言之指针(5)>
  • #Linux(Source Insight安装及工程建立)
  • #Z0458. 树的中心2
  • $$$$GB2312-80区位编码表$$$$
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (一) 初入MySQL 【认识和部署】
  • (一)Linux+Windows下安装ffmpeg
  • (转)http-server应用
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .htaccess 强制https 单独排除某个目录
  • .jks文件(JAVA KeyStore)
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net core 管理用户机密
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET是什么
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)