首页 > 其他分享 >springboot集成easypoi导出多sheet页

springboot集成easypoi导出多sheet页

时间:2024-02-06 11:06:37浏览次数:34  
标签:map sheet selectApprovalprocessCardLargeById 便利店 加油卡 new put easypoi springboot

pom文件

<dependency>

	<groupId>cn.afterturn</groupId>

	<artifactId>easypoi-base</artifactId>

	<version>4.1.0</version>

</dependency>

导出模板:

springboot集成easypoi导出多sheet页_多sheet

springboot集成easypoi导出多sheet页_springboot_02编辑

后端代码示例:

/**
     * 导出加油卡进便利店大额审批列表
     * @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页_easypoi_03

springboot集成easypoi导出多sheet页_springboot_04

springboot集成easypoi导出多sheet页_easypoi_05

springboot集成easypoi导出多sheet页_多sheet_06

标签:map,sheet,selectApprovalprocessCardLargeById,便利店,加油卡,new,put,easypoi,springboot
From: https://blog.51cto.com/momo1226/9617306

相关文章

  • SpringBoot的maven插件生成可以直接启动的jar
    简单使用<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration&g......
  • springboot整合redis的哨兵模式
    在SpringBoot中整合Redis的哨兵模式涉及到配置SpringBoot应用程序以连接到Redis哨兵集群。哨兵模式是Redis的一种高可用解决方案,它提供了自动故障转移功能,可以在Redis主节点发生故障时自动将一个从节点升级为新的主节点。步骤1:安装并配置Redis哨兵集群首先,您需要在您的服务器上......
  • Springboot在编写CRUD时,访问对应数据函数返回null
    1.我遇到了什么问题我在学习springboot,其中在编写CRUD时发现访问数据的函数执行下去返回值是null但是其它部分正常。下面是我的错误代码pojopublicclassBot{@TableId(type=IdType.AUTO)privateIntegerid;privateIntegeruser_id;privateStr......
  • Springboot整合redis配置详解
    Springboot整合redis配置详解1.导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2.编写properties或者yml配置#Redis本地服务器地址,注意要开启redis服务,即那个redis-s......
  • SpringBoot可以同时处理多少请求?
    正文我们都知道,SpringBoot默认的内嵌容器是Tomcat,也就是我们的程序实际上是运行在Tomcat里的。所以与其说SpringBoot可以处理多少请求,到不如说Tomcat可以处理多少请求。关于Tomcat的默认配置,都在spring-configuration-metadata.json文件中,对应的配置类则是org.springframework.b......
  • spring-boot-maven-plugin maven-compiler-plugin springboot demo
     <build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-......
  • springboot之ImportBeanDefinitionRegistrar动态注入
    SpringBoot中的使用在SpringBoot内置容器的相关自动配置中有一个ServletWebServerFactoryAutoConfiguration类。该类的部分代码如下:@Configuration(proxyBeanMethods=false)@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@ConditionalOnClass(ServletRequest.class)@Con......
  • SpringBoot- 文件上传
    packagecom.example.demo.controller;importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annotation.RestController;importorg.springframework.web.multipart.MultipartFile;importjavax.servlet.http.HttpServlet......
  • SpringBoot中使用Spring自带线程池ThreadPoolTaskExecutor与Java8CompletableFuture实
    场景关于线程池的使用:Java中ExecutorService线程池的使用(Runnable和Callable多线程实现):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/126242904Java中创建线程的方式以及线程池创建的方式、推荐使用ThreadPoolExecutor以及示例:https://blog.csdn.net/BADAO_......
  • 阿里二面:SpringBoot可以同时处理多少个请求?当场懵了。。。。
    SpringBoot以其简洁高效的开发方式和强大的内嵌容器特性,为开发者提供了构建高性能后端服务的便利。然而,当面临高并发场景时,理解并合理配置SpringBoot应用以达到最佳的并发处理能力至关重要。在SpringBoot中,应用程序对HTTP请求的并发处理主要依赖于内嵌的Servlet容器(如Tomcat)。接......