springboot集成easypoi导出多sheet页
pom文件
<dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.0</version>
</dependency>
导出模板:

后端代码示例:
/*** 导出加油卡进便利店大额审批列表* @throws IOException */@PreAuthorize("@ss.hasPermi('card:large:export')")@Log(title = "加油卡进便利店大额审批", businessType = BusinessType.EXPORT)@GetMapping("/exportByTemp/{ids}")public AjaxResult exportByTemp(HttpServerResponse response, @PathVariable Long[] ids) throws IOException{TemplateExportParams params = new TemplateExportParams("templates/excel/加油卡进便利店大额审批-导出.xlsx",true);Map<Integer, List<Map<String, Object>>> sheetsMap = new HashMap<>();try {int i = 0;for (Long id : ids) {List<Map<String, Object>> list = new ArrayList<>();Map<String, Object> map = new HashMap<String, Object>();ApprovalprocessCardLarge selectApprovalprocessCardLargeById = approvalprocessCardLargeService.selectApprovalprocessCardLargeById(id);map.put("stationProcess", selectApprovalprocessCardLargeById.getStationProcess());map.put("countyProcess", selectApprovalprocessCardLargeById.getCountyProcess());map.put("cityProcess", selectApprovalprocessCardLargeById.getCityProcess());List<ApprovalprocessCardLargeDetail> detailByLargeId = approvalprocessCardLargeDetailService.getDetailByLargeId(id);map.put("largeList", detailByLargeId);Date reportDate = selectApprovalprocessCardLargeById.getReportDate();String parseDateToStr = DateUtils.parseDateToStr("yyyy-MM-dd", reportDate);map.put("date", parseDateToStr);list.add(map);sheetsMap.put(i++,list);}Workbook wb = ExcelExportUtil.exportExcelClone(sheetsMap, params);FileOutputStream out = new FileOutputStream(StringUtils.getAbsoluteFile("加油卡进便利店大额审批.xlsx"));wb.write(out);IOUtils.closeQuietly(wb);IOUtils.closeQuietly(out);} catch (Exception e) {logger.error("加油卡进便利店大额审批下载失败--->" + e.getMessage());}return AjaxResult.success("加油卡进便利店大额审批.xlsx");}
导出效果:



相关文章:
springboot集成easypoi导出多sheet页
pom文件 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.0</version> </dependency> 导出模板: 后端代码示例: /*** 导出加油卡进便利店大额审批列…...
自己动手打包element UI官方手册文档教程
经常用element ui朋友开发的比较郁闷,官方文档网基本上都是打不开的, 官方:https://element.eleme.io/ 一直打不开,分析下是里面用的cdn链接ssl证书无效。 就想着自己搭建一个element UI文档 自己搭建的: Element文档网…...
《计算机网络简易速速上手小册》第5章:无线网络和移动通信(2024 最新版)
5.1 WLAN的工作原理 - 揭秘无线局域网络的魔法 5.1.1 基础知识 无线局域网络(WLAN)允许设备通过无线方式连接到一个局部区域网络,主要基于IEEE 802.11标准,俗称Wi-Fi。WLAN的核心是无线路由器,它不仅充当着网络中各设…...
2024PMP考试新考纲-近年PMP真题练一练和很详细解析(3)
今天华研荟继续为您分享和解析PMP真题,一方面让大家感受实际的PMP考试和出题形式,另一方面是通过较详细的解题思路和知识讲解帮助大家最后一个多月有效备考,一次性3A通过2024年PMP考试。 2024年PMP考试新考纲-近年真题随机练一练 (注&#x…...
java SpringBoot2.7整合Elasticsearch(ES)7 进行文档增删查改
首先 我们在 ES中加一个 books 索引 且带有IK分词器的索引 首先 pom.xml导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>applicatio…...
动态内存管理(2)
文章目录 4. 几个经典的笔试题4.1 题目14.2 题目24.3 题目34.4 题目4 5. C/C程序的内存开辟6. 动态通讯录7. 柔性数组7.1 柔性数组的特点7.2 柔性数组的使用7.3 柔性数组的优势 4. 几个经典的笔试题 4.1 题目1 #include <stdio.h> #include <stdlib.h> #include …...
使用 git 上传文件时,运行 命令 git pull origin 时未成功,出现报错信息
项目场景: 背景: 使用 git 上传文件时,运行 命令 git pull origin 时未成功,出现报错信息 问题描述 问题: $ git pull origin print --allow-unrelated-histories error: Pulling is not possible because you hav…...
Linux文件编译
目录 一、GCC编译 1.直接编译 2.分步编译 预处理: 编译: 汇编: 链接: 3.多文件编译 4.G 二、Make 1.概述 2.使用步骤 3.makefile创建规则 3.1一个基本规则 3.2两个常用函数 4.示例文件 三、GDB 示例:…...
homeword_day1
第一章 命名空间 一.选择题 1、编写C程序一般需经过的几个步骤依次是( B ) A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 2、所谓数据封装就是将一组数据和与这组数据…...
ChatGPT论文指南|ChatGPT论文写作过程中6个润色与查重提示词
论文完成初稿之后,一般情况下,宝子们还需要找专家给我们提出评审意见。找专家评审其实并不容易,即使对老师来说,找人评审论文也是一件苦活。我们这个时候可以通过文字提示让 ChatGPT充当我们的评审专家,为论文提出问题…...
论文阅读:Learning Lens Blur Fields
这篇文章是对镜头模糊场进行表征学习的研究,镜头的模糊场也就是镜头的 PSF 分布,镜头的 PSF 与物距,焦距,光学系统本身的像差都有关系,实际的 PSF 分布是非常复杂而且数量也很多,这篇文章提出用一个神经网络…...
SpringBoot整合Knife4j接口文档生成工具
一个好的项目,接口文档是非常重要的,除了能帮助前端和后端开发人员更快地协作完成开发任务,接口文档还能用来生成资源权限,对权限访问控制的实现有很大的帮助。 这篇文章介绍一下企业中常用的接口文档工具Knife4j(基于…...
爬虫(三)
1.JS逆向实战破解X-Bogus值 X-Bogus:以DFS开头,总长28位 答案是X-Bogus,因为会把负载里面所有的值打包生成X-Boogus 1.1 找X-Bogus加密位置(请求堆栈) 1.1.1 绝招加高级断点(日志断点) 日志断点看有没有X-B值 日志…...
03 动力云客项目之登录功能后端实现
1 准备工作 1.1 创建项目 使用Spring initializr初始化项目 老师讲的是3.2.0, 但小版本之间问题应该不大. 1.2 项目结构 根据阿里巴巴Java开发手册确定项目结构 1.3 分层领域模型 【参考】分层领域模型规约: • DO(Data Object)&am…...
时光峰峦文物璀璨,预防性保护筑安全
在璀璨的历史长河中,珍贵文物如同时间的印记,承载着过往的辉煌。《人文山水时光峰峦——多彩贵州历史文化展》便是这样一场文化的盛宴,汇聚了众多首次露面的宝藏。然而,文物的保存对环境要求极为苛刻,温湿度波动都可能…...
Redis面试题43
人工智能在未来会有哪些可能的发展趋势? 答:人工智能在未来将继续迎来许多可能的发展趋势,以下是一些可能的方向: 更强大的算法和模型:人工智能算法和模型将不断改进和优化,为更复杂的数据和问题提供更强大…...
Redis -- list列表
只有克服了情感的波动,才能专心致志地追求事业的成功 目录 列表 list命令 lpush lpushx rpush rpushx lrange lpop rpop lindex linsert llen lrem ltrim 阻塞命令 小结 列表 列表相当于 数组或者顺序表。 列表类型是用来存储多个有序的字符串&…...
【MATLAB】使用梯度提升树在回归预测任务中进行特征选择(深度学习的数据集处理)
1.梯度提升树在神经网络的应用 使用梯度提升树进行特征选择的好处在于可以得到特征的重要性分数,从而识别出对目标变量预测最具影响力的特征。这有助于简化模型并提高其泛化能力,减少过拟合的风险,并且可以加快模型训练和推理速度。此外&…...
神经网络 | 基于多种神经网络模型的轴承故障检测
Hi,大家好,我是半亩花海。本文主要源自《第二届全国技能大赛智能制造工程技术项目比赛试题(样题) 模块 E 工业大数据与人工智能应用》,基于给出的已知轴承状态的振动信号样本,对数据进行分析,建…...
matplot画3D图的时候报错
使用matplot画3D图的时候,报这个错。 ERROR: Could not find a version that satisfies the requirement mpl_toolkits (from versions: none) ERROR: No matching distribution found for mpl_toolkits 要使用升级命令升级matplot而不是安装 pip install --upgr…...
LLM在硬件断言生成中的应用与优化
1. 硬件断言生成的技术背景与挑战硬件设计验证是芯片开发流程中至关重要的环节,而断言(Assertion)作为验证的核心工具,其质量直接影响着验证的效率和可靠性。断言本质上是对设计预期行为的数学编码,用于在仿真或形式验…...
AI编程助手配置同步工具:跨机器团队技能管理实践
1. 项目概述与核心价值最近在折腾AI编程工具链,发现一个挺有意思的现象:无论是Cursor、Claude Code,还是GitHub Copilot,它们都越来越依赖所谓的“技能”(Skills)或“上下文”(Contextÿ…...
Sveltos:多集群Kubernetes应用分发与配置管理的核心利器
1. 项目概述:Sveltos,一个被低估的集群应用管理利器如果你和我一样,长期在多集群的Kubernetes环境中摸爬滚打,那你一定对“应用分发”这件事的复杂性深有体会。想象一下,你手头有几十甚至上百个集群,有的在…...
AI舞蹈生成实战:从扩散模型原理到seedance-2.0部署与调优
1. 项目概述:从种子到舞蹈的AI生成革命最近在AI生成领域,一个名为“seedance-2.0”的项目引起了我的注意。这个项目名本身就很有意思,“seedance”可以拆解为“seed”(种子)和“dance”(舞蹈)&a…...
如何快速容器化100-Days-Of-ML-Code机器学习项目:终极Docker部署指南
如何快速容器化100-Days-Of-ML-Code机器学习项目:终极Docker部署指南 【免费下载链接】100-Days-Of-ML-Code 100 Days of ML Coding 项目地址: https://gitcode.com/gh_mirrors/10/100-Days-Of-ML-Code 100-Days-Of-ML-Code是一个完整的机器学习学习计划&…...
从零开始使用Taotoken为你的爬虫项目添加AI解析功能
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从零开始使用Taotoken为你的爬虫项目添加AI解析功能 在数据采集项目中,我们常常会遇到非结构化或半结构化的网页内容。…...
【Prometheus】当 Prometheus 内存使用率过高时,应该从哪些方面入手进行排查和优化?
Prometheus 内存溢出深度排查指南:从 TSDB Head 到 Goroutine 泄露的全链路优化 用户问题原文:“当 Prometheus 内存使用率过高时,应该从哪些方面入手进行排查和优化?” 在支撑单集群500万+时间序列的生产环境中,Prometheus 的内存管理是 SRE 团队的核心挑战。一次未被及时…...
避坑指南:Vivado FIR Compiler IP核配置的那些‘坑’(从MATLAB系数到FPGA实现)
Vivado FIR滤波器IP核实战避坑手册:从MATLAB系数到FPGA部署的12个关键检查点 当MATLAB的完美频响曲线遇上Vivado的硬件实现,FIR滤波器设计往往会遭遇理想与现实的落差。本文不重复基础操作流程,而是聚焦于那些让工程师深夜加班的典型问题场景…...
VR文旅大空间|沉浸式体验重塑文旅新场景
随着文旅产业不断升级,传统“走马观花式”的旅游体验已经难以满足游客日益增长的体验需求。如何让游客“留下来、玩得久、愿意分享”,成为各地文旅项目共同思考的问题。在这一背景下,VR大空间文旅逐渐走入大众视野,成为文旅融合发…...
Cadence ADE XL/ADEL仿真提速与避坑指南:从APS多核设置到收敛问题解决
Cadence ADE XL/ADEL仿真提速与避坑指南:从APS多核设置到收敛问题解决 在集成电路设计领域,仿真效率直接决定了产品迭代速度。当电路规模达到数百万晶体管级别时,一次仿真可能耗费数小时甚至数天。本文将分享一套经过实战验证的Cadence仿真优…...
