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

news/2024/12/21 22:19:45/

一个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);

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


http://www.ppmy.cn/news/1474108.html

相关文章

SpringMVC系列十: 中文乱码处理与JSON处理

文章目录 中文乱码处理自定义中文乱码过滤器Spring提供的过滤器处理中文 处理json和HttpMessageConverter<T>处理JSON-ResponseBody处理JSON-RequestBody处理JSON-注意事项和细节HttpMessageConverter<T\>文件下载-ResponseEntity<T\>作业布置 上一讲, 我们学…

Python | Leetcode Python题解之第223题矩形面积

题目&#xff1a; 题解&#xff1a; class Solution:def computeArea(self, ax1: int, ay1: int, ax2: int, ay2: int, bx1: int, by1: int, bx2: int, by2: int) -> int:area1 (ax2 - ax1) * (ay2 - ay1)area2 (bx2 - bx1) * (by2 - by1)overlapWidth min(ax2, bx2) - …

25考研,数二全程跟的张宇老师请问660(做了一半)880和张宇1000题应该怎么选择?

跟张宇老师&#xff0c;也可以做其他的题集&#xff0c;不一定非要做1000题 我当初考研复习的时候&#xff0c;也听了张宇老师的课程&#xff0c;但是我并没有做1000题 因为1000题对于我来说太难了。做了一章之后&#xff0c;就换成其他的题目了。 对于大家来说&#xff0c;…

云计算渲染时代:选择Blender或KeyShot进行高效渲染

在云渲染技术日益成熟的背景下&#xff0c;挑选一款贴合项目需求的3D渲染软件显得尤为关键。当前&#xff0c;Blender与KeyShot作为业界领先的全能渲染解决方案&#xff0c;广受推崇。它们虽皆能创造出令人信服的逼真视觉效果&#xff0c;但在特色功能上各有所长。本篇文章旨在…

根据服务器流量使用情况推算出网站流量的方法

根据服务器流量使用情况推算网站流量是一个涉及数据监测、分析和计算的过程。以下是一些基本步骤和方法&#xff1a; 1. 收集数据 首先&#xff0c;你需要获取服务器的流量数据&#xff0c;这些数据通常包括&#xff1a; - 总流量&#xff1a;一定时间周期内服务器发送和接收的…

前端面试题29(js闭包和主要用途)

JavaScript 中的闭包是一个非常强大的特性&#xff0c;它允许一个函数访问并操作其词法作用域之外的变量。闭包的形成主要依赖于函数的作用域链&#xff0c;即函数可以访问在其外部定义的变量&#xff0c;即使外部函数已经执行完毕。下面我会通过几个方面来帮助你理解闭包的概念…

音视频开发35 FFmpeg 编码- 将YUV 和 pcm合成一个mp4文件

一 程序的目的 /*** *该程序的目的是: * 将 一个pcm文件 和 一个 yuv文件&#xff0c;合成为一个 0804_out.mp4文件 * pcm文件和yuv文件是从哪里来的呢&#xff1f;是从 sound_in_sync_test.mp4 文件中&#xff0c;使用ffmpeg命令 抽取出来的。 * 这样做的目的是为了对比前…

【2024年世界人工智能大会】AI新航向:从“卷模型”到“卷应用”的深度探索

在2024年世界人工智能大会的璀璨舞台上&#xff0c;李彦宏的一席话犹如明灯&#xff0c;照亮了AI技术发展的新路径——“不要卷模型&#xff0c;要卷应用”。这不仅仅是对当前AI领域热潮的冷静反思&#xff0c;更是对未来发展方向的深刻洞察。 AI技术应用场景&#xff1a;从理…