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");
    }

导出效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/375642.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

洛谷_P1464 Function_python写法

目录 1.错误解法 2.学习记忆化搜索算法 2.1简介 2.2案例学习 3.解法 4.总结 1.错误解法 a 0 b 0 c 0 def w(a,b,c):if a<0 or b<0 or c<0:return 1elif a>20 or b>20 or c>20:return w(20,20,20)elif a<b and b<c:return w(a-1,b,c) w(a-1,…

Python程序员面试题精选及解析(2)

本文精心挑选了10道Python程序员面试题&#xff0c;覆盖了Python的多个核心领域&#xff0c;包括装饰器、lambda函数、列表推导式、生成器、全局解释器锁(GIL)、单例模式以及上下文管理器等。每道题都附有简洁的代码示例&#xff0c;帮助读者更好地理解和应用相关知识点无论是对…

小白代码审计入门

最近小白一直在学习代码审计,对于我这个没有代码审计的菜鸟来说确实是一件无比艰难的事情。但是着恰恰应了一句老话:万事开头难。但是小白我会坚持下去。何况现在已经喜欢上了代码审计,下面呢小白就说一下appcms后台模板Getshell以及读取任意文件,影响的版本是2.0.101版本。…

【数据分享】1929-2023年全球站点的逐月平均降水量(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、湿度等指标&#xff0c;说到常用的降水数据&#xff0c;最详细的降水数据是具体到气象监测站点的降水数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2023年全…

基于spring cloud alibaba的微服务平台架构规划

平台基础能力规划&#xff08;继续完善更新…&#xff09; 一、统一网关服务&#xff08;独立服务&#xff09; 二、统一登录鉴权系统管理&#xff08;独立服务&#xff09; 1.统一登录 2.统一鉴权 3.身份管理 用户管理 角色管理 业务系统和菜单管理 部门管理 岗位管理 字典管…

【代码随想录24】93.复原 IP 地址 78.子集 90.子集II

目录 93.复原IP地址题目描述参考代码 78.子集题目描述参考代码 90.子集II题目描述参考代码 93.复原IP地址 题目描述 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如…

Java设计模式大全:23种常见的设计模式详解(三)

本系列文章简介&#xff1a; 设计模式是在软件开发过程中&#xff0c;经过实践和总结得到的一套解决特定问题的可复用的模板。它是一种在特定情境中经过验证的经验和技巧的集合&#xff0c;可以帮助开发人员设计出高效、可维护、可扩展和可复用的软件系统。设计模式提供了一种在…

VitePress-11-静态资源引入- public目录的使用

作用简述 public目录就是一个存放静态资源的目录。 项目中可以通过【绝对路径】的方式进行引入。 具体的格式请继续阅读本文剩下的内容。 知识补充-源目录(比较重要) 源目录 的概念 &#xff1a; 是markdown源文件所在的位置。 默认情况下&#xff0c;源目录与项目的根目录保持…

警惕“中等数字化陷阱”,大力发扬先进基础设施“长板”

上世纪七、八十年代&#xff0c;拉美国家发展由富转穷&#xff0c;人均GDP发展至3000美金左右就开始停滞不前。研究界将这一现象归结为一个极具争议的概念——“中等收入陷阱”。 如今&#xff0c;在我国数字化发展当中&#xff0c;也有一种“中等数字化陷阱”正露出苗头&…

读千脑智能笔记06_人工智能的未来(上)

1. 人工智能正在经历一场复兴&#xff0c;这是科技界最热门的领域之一 1.1. 大多数科学进步都建立在被广泛接受的理论框架之上。这种理论框架称为“科学范式” 1.2. 人工智能的未来将与大多数人工智能从业者如今的设想存在本质上的不同 1.3. 人工神经网络与人类大脑中的神经…

Swift Combine 从入门到精通一

1. Combine 简介 用 Apple 官方的话来说&#xff0c;Combine 是: a declarative Swift API for processing values over time. Combine 是 Apple 用来实现函数响应式编程的库&#xff0c; 类似于 RxSwift。 RxSwift 是 ReactiveX 对 Swift 语言的实现。 Combine 使用了许多可以…

uniapp canvas游标卡尺效果

效果 根据公司业务仿照写的效果。原项目从微信小程序转uniapp,未测试该效果在android端效果。 uniapp直接使用canvas不可做子组件,否则无效果显示,其次显示时要考虑页面渲染超时的问题。 如效果所见,可以设置取值精度。 gitee地址:project_practice: 项目练习 - Gitee.…

Qt/C++音视频开发66-音频变速不变调/重采样/提高音量/变速变调/倍速播放/sonic库使用

一、前言 之前在做倍速这个功能的时候&#xff0c;发现快速播放会有滴滴滴的破音出现&#xff0c;正常1倍速没有这个问题&#xff0c;尽管这个破音间隔很短&#xff0c;要放大音量才能听到&#xff0c;但是总归是不完美的&#xff0c;后面发现&#xff0c;通过修改qaudiooutpu…

用python编写爬虫,爬取二手车信息+实验报告

题目 报告要求 工程报告链接放在这里 https://download.csdn.net/download/Samature/88805518使用 1.安装jupyter notebook 2.用jupyter notebook打开工程里的ipynb文件&#xff0c;再run all就行 注意事项 可能遇到的bug 暂无&#xff0c;有的话私信我

跟着pink老师前端入门教程-day20

二、移动WEB开发之flex布局 1、flex 布局体验 1.1 传统布局与flex布局 传统布局&#xff1a;兼容性好、布局繁琐、局限性、不能再移动端很好的布局 flex弹性布局&#xff1a;操作方便&#xff0c;布局极为简单&#xff0c;移动端应用很广泛&#xff1b;PC 端浏览器支持情况…

【HTML】MDN

文章目录 一、html元素1.1 <a>1.2 <abbr>1.3 <address>1.4<area>1.5 <article>1.6 <aside>1.7 <audio>1.8 <b>1.9 <base>1.10<bdi>1.11 <bdo>1.12 <blockquote>1.13 <body>1.14 <br>1.15…

Visual Studio 2010+C#实现信源和信息熵

1. 设计要求 以图形界面的方式设计一套程序&#xff0c;该程序可以实现以下功能&#xff1a; 从输入框输入单个或多个概率&#xff0c;然后使用者可以通过相关按钮的点击求解相应的对数&#xff0c;自信息以及信息熵程序要能够实现马尔可夫信源转移概率矩阵的输入并且可以计算…

【DDD】学习笔记-服务资源模型

在软件领域中&#xff0c;使用最频繁的词语之一就是“服务”。在领域驱动设计中&#xff0c;也有领域服务、应用服务之分。通常&#xff0c;一个对象被命名为服务&#xff0c;意味着它具有为客户提供某种业务行为的能力。服务与客户存在一种协作关系&#xff0c;协作的接口可以…

PCMag评选“小企业优选CRM软件”——Zoho Bigin上榜

当我们谈论企业怎样选择CRM管理系统时&#xff0c;大型企业、中型企业以及小型或初创等不同规模的企业需求各不相同&#xff0c;很难用一套软件来适配所有公司。以小企业为例&#xff0c;大多面临预算紧张、没有专业的IT部门或支持团队、暂时用不到高级定制功能等现状。基于这个…

Java面向对象 构造器的重载

目录 创建类测试构造器的重载分析 创建类 public class Person02 {//属性&#xff1a;String name;int age;double height;//空构造器public Person02(){}public Person02(String name,int age,double height){//当形参名字和属性名字重名的时候&#xff0c;会出现就近原则&am…