SpringBoot 实现Execl 导入导出

1、引包

 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>3.0.3</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-web</artifactId><version>3.0.3</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-annotation</artifactId><version>3.0.3</version></dependency>

2、导入样例 

 @ApiOperation(notes = "Excel业务导入", value = "Excel业务导入")@PostMapping("/businessFromExcel")public HttpResponse businessFromExcel(@RequestPart("file") MultipartFile file) throws Exception {ImportParams params = new ImportParams();params.setHeadRows(1);List<Business> list = ExcelImportUtil.importExcel(file.getInputStream(),Business.class, params);boolean result = businessService.insertBusiness(list);if(result){return new HttpResponse<>().success();}else{return new HttpResponse<>().error(500, "业务导入失败");}}

execl 样例

3、导出样例

 @ApiOperation(notes = "查询扩缩容导出Excel", value = "查询扩缩容导出Excel")@GetMapping("/resourceToExcel")public Object getScaleResourceToExcel(@RequestParam(name = "resourceType", required = false)  @ApiParam(value = "资源类型") String resourceType,@RequestParam(name = "status", required = false) @ApiParam(value = "状态") Integer status,@RequestParam(name = "startTime", required = false) @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiParam(value = "开始时间", format = "yyyy-MM-dd HH:mm:ss", example = "2024-01-01 10:10:10") Date startTime,@RequestParam(name = "endTime", required = false) @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiParam(value = "结束时间", format = "yyyy-MM-dd HH:mm:ss", example = "2024-01-01 10:10:10") Date endTime) throws IOException {List<Scale> list = scaleService.getScaleResourceList(resourceType, status,  startTime, endTime);ExportParams exportParams = new ExportParams();exportParams.setType(ExcelType.XSSF);Workbook workbook = ExcelExportUtil.exportExcel(exportParams, Scale.class, list);ByteArrayOutputStream byteOutputStream  = new ByteArrayOutputStream();workbook.write(byteOutputStream);Map dataBase64 = ImmutableMap.of("filename","扩缩容.xlsx","data", Base64.encodeBase64String(byteOutputStream.toByteArray()));return new HttpResponse<>().success(dataBase64);}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dll不能运行是什么意思,分享5种有效的修复方法

在计算机使用过程中&#xff0c;我们可能会遇到各种各样的问题&#xff0c;其中一种常见的问题是“dll不能运行”。这个问题可能会影响到我们的正常使用&#xff0c;甚至导致某些软件无法启动。那么&#xff0c;“dll不能运行是什么意思”呢&#xff1f;dll文件丢失怎么恢复&am…

论文分享 | 利用单模态自监督学习实现多模态AVSR

以下文章来源于智能语音新青年 &#xff0c;作者ttslr 论文地址&#xff1a; https://aclanthology.org/2022.acl-long.308.pdf 代码仓库&#xff1a; https://github.com/LUMIA-Group/Leveraging-Self-Supervised-Learning-for-AVSR 训练一个基于Transformer的模型需要大量的…

21 UVM printer

uvm_printer 类提供了以不同格式打印 uvm_objects 的灵活性。我们已经讨论了使用 uvm_field_* 宏的 print() 方法&#xff0c;或者如果不使用 utils_begin/ end 宏&#xff0c;则编写 do_print() 方法。 UVM printer提供四种内置printer。 uvm_printeruvm_table_printeruvm_t…

【Redis-08】Redis主从复制的实现原理

在Redis中&#xff0c;可以通过slaveof命令或者设置slaveof选项实现两台Redis服务器的主从复制&#xff0c;比如我们有两个Redis机器&#xff0c;地址分别是 127.0.0.1:6379 和 127.0.0.1:6380&#xff0c;现在我们在前者上面执行&#xff1a; 127.0.0.1:6379 > SLAVEOF 12…

分布式技术之流量控制技术

文章目录 什么是流量控制&#xff1f;分布式系统流量控制策略漏桶策略令牌桶策略两种策略对比Sentinel 流量控制工作原理 什么是流量控制&#xff1f; 流量控制&#xff0c;如果学过计算机网络的话&#xff0c;第一反应肯定是网络传输中的流量控制。网络传输中的流量控制&…

【中南林业科技大学】计算机组成原理复习包括题目讲解(超详细)

来都来了点个赞收藏关注一下再走呗&#x1f339;&#x1f339;&#x1f339;&#x1f339; 第1章&#xff1a;绪论 1.冯诺依曼机特点&#xff0c;与现代计算机的区别 冯诺依曼计算机的基本思想是&#xff1a;程序和数据以二进制形式表示&#xff0c;存储程序控制。在计算机中&…

2023 AI开发者生态报告

随着人工智能技术的飞速发展&#xff0c;全球IT市场对AI的投入持续增长&#xff0c;预计到2027年将达到4236亿美元。中国作为AI领域的重要参与者&#xff0c;其投资规模预计将占全球的9%。在这样的背景下&#xff0c;2023年的《AI开发者生态报告》为我们揭示了人工智能时代的技…

数据结构,题目笔记

哈希表 线性探测再散列 【算法数据结构&#xff5c;哈希查找&#xff5c;哈希冲突&#xff5c;除留余数法&#xff5c;线形探测法&#xff5c;例题讲解】https://www.bilibili.com/video/BV1514y1P7BK?vd_source1a684a3a1b9d05485b3d6277aeeb705d 【二次探测再散列法】 【【…

信号与线性系统翻转课堂笔记20——系统函数与信号流图

信号与线性系统翻转课堂笔记20——系统函数与信号流图 The Flipped Classroom20 of Signals and Linear Systems 对应教材&#xff1a;《信号与线性系统分析&#xff08;第五版&#xff09;》高等教育出版社&#xff0c;吴大正著 一、要点 &#xff08;1&#xff09;了解信…

VS2019+OpenCV4.7.0+OpenCV_contrib4.7.0+CUDA安装+配置视频硬解码保姆级别教程

在算法开发过程中&#xff0c;涉及基于opencv的rtsp流硬解码&#xff0c;这里设计结合当前所有的资料&#xff0c;实现了现有opengl相关的所有跟视频硬解码相关的功能&#xff0c;下面对opencv4.7.0的编译流程进行说明&#xff1a; 一、准备工作 下载opencv &#xff1a;open…

【网络技术】【Kali Linux】Wireshark嗅探(一)ping和ICMP

一、实验目的 本次实验使用wireshark流量分析工具进行网络嗅探&#xff0c;旨在了解ping命令的原理及过程。 二、网络环境设置 本系列实验均使用虚拟机完成&#xff0c;主机操作系统为Windows 11&#xff0c;虚拟化平台选择Oracle VM VirtualBox&#xff0c;组网模式选择“N…

【实用工具】Tmux使用指南

Tmux 三个重要概念 session&#xff08;会话&#xff09;、window&#xff08;窗口&#xff09;、pane&#xff08;面板&#xff09; 一个会话可以有多个窗口&#xff0c;一个窗口可以划分为多个面板 注意在tmux中使用快捷命令的话&#xff0c;需要加上前缀ctrlb 关于session的…