SpringBoot实现Excel导入导出

news/2024/11/16 23:33:58/

话不多说,直接上代码

依赖文档

找到pom文件,如下图所示

引入需要的依赖

<!--		hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.20</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>

导出写法:

@GetMapping("/export")public void export(HttpServletResponse response) throws Exception {// 从数据库查询出所有的数据List<User> list = userService.list();// 左内存操作,写出到浏览器ExcelWriter writer = ExcelUtil.getWriter(true);// 自定义标题别名writer.addHeaderAlias("username", "用户名");writer.addHeaderAlias("password", "密码");writer.addHeaderAlias("nickname", "昵称");writer.addHeaderAlias("email", "邮箱");writer.addHeaderAlias("phone", "电话");writer.addHeaderAlias("address", "地址");writer.addHeaderAlias("createTime", "创建时间");// 一次性写出list内的对象到Excel,使用默认样式,强制输出标题writer.write(list, true);// 设置浏览器响应的格式response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");String fileName = URLEncoder.encode("用户信息", "UTF-8");response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");ServletOutputStream out = response.getOutputStream();writer.flush(out, true);out.close();writer.close();}

导入写法:

//    export 导入@PostMapping("/import")public Result imp(MultipartFile file) throws Exception {InputStream inputStream = file.getInputStream();ExcelReader reader = ExcelUtil.getReader(inputStream);reader.addHeaderAlias("用户名", "username");reader.addHeaderAlias("密码", "password");reader.addHeaderAlias("昵称", "nickname");reader.addHeaderAlias("邮箱", "email");reader.addHeaderAlias("电话", "phone");reader.addHeaderAlias("地址", "address");List<User> list = reader.readAll(User.class);return Result.success(userService.saveBatch(list), "'返回成功'");}

已上就是导入导出


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

相关文章

PV PVC in K8s

摘要 在Kubernetes中&#xff0c;PV&#xff08;Persistent Volume&#xff09;和PVC&#xff08;Persistent Volume Claim&#xff09;是用于管理持久化存储的重要资源对象。PV表示存储的实际资源&#xff0c;而PVC表示对PV的声明性要求。当应用程序需要使用持久化存储时&…

图像色彩空间的改变

图像色彩空间的改变 OpenCV中有150多种颜鱼空间转换方法。 最广泛使用的转换方法有两种&#xff0c; BGR →Gray 和 BGR→HSV。 cv.cvtColor(input_image&#xff0c;flag) 参数: input_image:进行颜色空间转换的图像. flag:转换类型 cv.COLOR_BGR2GRAY : BGR → GRAY cv.…

【云计算网络安全】解析DDoS攻击:工作原理、识别和防御策略 | 文末送书

文章目录 一、前言二、什么是 DDoS 攻击&#xff1f;三、DDoS 攻击的工作原理四、如何识别 DDoS 攻击五、常见的 DDoS 攻击有哪几类&#xff1f;5.1 应用程序层攻击5.1.1 攻击目标5.1.2 应用程序层攻击示例5.1.3 HTTP 洪水 5.2 协议攻击5.2.1 攻击目标5.2.2 协议攻击示例5.2.3 …

2023国赛数学建模E题思路分析 - 黄河水沙监测数据分析

# 1 赛题 E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响&#xff0c; 以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位…

【C++】详解AVL树并模拟实现

前言&#xff1a; 之前我们为了让数据存储效率提高&#xff0c;引进了二叉搜索树。 但是我们发现&#xff0c;二叉搜索树的时间复杂度还是O(N),因为二叉搜索树并不是非常的平衡。 并不是所有树都是满二叉树&#xff0c;可能出现单边书这样极端的情况&#xff0c;所以我们引进…

后流量时代的跨境风口:Facebook广告

Facebook拥有超过25亿各个年龄段和人群的每月活跃用户&#xff0c;可以帮助您接触世界各地的相关消费者。无论您是需要吸引新的潜在客户还是吸引回头客访问您的在线商店&#xff0c;Facebook广告都可以为电子商务提供丰厚的投资回报&#xff1b;无论您是在沃尔玛、eBay、亚马逊…

【快应用】二级页面如何携带参数返回一级页面?

【关键词】 快应用、router、onBackPress 【问题背景】 页面栈有A、B两个页面&#xff0c;怎么在B页面中调A页面的方法或传参&#xff1f;场景是&#xff1a;A页面是列表页&#xff0c;B页面是详情页&#xff0c;B页面状态改变后返回A页面状态也要改变。 【解决方法】 在onB…

详解 sudo usermod -aG docker majn

这个命令涉及到几个 Linux 系统管理的基础概念&#xff0c;包括 sudo、usermod 和用户组管理。我们可以逐一地解析它们&#xff1a; sudo: sudo&#xff08;superuser do&#xff09;允许一个已经被授权的用户以超级用户或其他用户的身份执行一个命令。当使用 sudo 前缀一个命令…