Spring Boot 中集成 EasyExcel 实现 Excel 文件读写操作

news2024/10/7 2:22:11

🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥 微信:zsqtcyl 联系我领取福利

在这里插入图片描述

🤞Spring Boot 中集成 EasyExcel 实现 Excel 文件读写操作🤞

  • 在 Java 开发中,处理 Excel 文件常常需要耗费大量时间和精力,特别是对于大数据量的 Excel 文件。为了简化 Excel 文件的读写操作,EasyExcel 库应运而生。EasyExcel 是阿里巴巴开源的一款基于 Java 的简单、快速、方便的 Excel 文件读写工具。

  • 接下来介绍如何在 Spring Boot 中集成 EasyExcel,以实现 Excel 文件的读写操作。我们将演示如何使用 EasyExcel 来读取 Excel 文件中的数据并将数据写入到 Excel 文件中。

🎈添加依赖

首先,在你的 Spring Boot 项目中添加 EasyExcel 的依赖。可以在 Maven 或 Gradle 中添加以下依赖:

<!-- Maven 依赖 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.4.7</version>
</dependency>

🎈创建 Excel 文件读写服务类

接下来,创建一个服务类来处理 Excel 文件的读写操作。这个服务类将负责读取 Excel 文件中的数据并将数据写入到 Excel 文件中。

import com.alibaba.excel.EasyExcel;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ExcelService {

    // 读取 Excel 文件中的数据
    public List<Object> readExcel(String filePath) {
        // 读取 Excel 文件
        List<Object> data = EasyExcel.read(filePath).sheet().doReadSync();
        return data;
    }

    // 写入数据到 Excel 文件中
    public void writeExcel(String filePath, List<Object> data, Class<?> clazz) {
        // 写入数据到 Excel 文件
        EasyExcel.write(filePath, clazz).sheet().doWrite(data);
    }
}

🎈创建 Controller 类

创建一个 Controller 类来处理 Excel 文件的上传和下载请求。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

@RestController
@RequestMapping("/excel")
public class ExcelController {

    @Autowired
    private ExcelService excelService;

    // 上传 Excel 文件
    @PostMapping("/upload")
    public String uploadExcel(@RequestParam("file") MultipartFile file) throws IOException {
        // 保存上传的文件到本地或服务器
        // 这里假设保存到本地,获取保存路径
        String filePath = "path/to/your/excel/file.xlsx";

        // 将上传的 Excel 文件读取为对象列表
        List<Object> data = excelService.readExcel(file.getInputStream());

        // 处理 Excel 文件中的数据...

        // 返回处理结果
        return "Excel file uploaded successfully.";
    }

    // 下载 Excel 文件
    @GetMapping("/download")
    public void downloadExcel() {
        // 准备要写入到 Excel 文件中的数据
        List<Object> data = ...

        // 写入数据到 Excel 文件中
        excelService.writeExcel("path/to/downloaded/file.xlsx", data, YourDataClass.class);
    }
}

🎈编写前端页面(可选)

如果你希望通过 Web 界面来上传和下载 Excel 文件,你可以编写相应的前端页面。这里不做详细展示,你可以根据实际需求选择适合的前端技术来实现。

🎈测试

现在,你可以启动你的 Spring Boot 应用程序,并通过相应的接口来上传和下载 Excel 文件了。确保你的服务能够正常处理 Excel 文件的读写操作。

🍚总结

大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。
Writted By 知识浅谈

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【QA】Java集合常用的函数

文章目录 前言Collection接口通用函数 | Collections工具类通用函数 | List接口 Set接口List接口ArrayListLinkedList Set接口TreeSetHashSetLinkedHashSet Map接口通用函数TreeMapHashMapLinkedHashMap 前言 本文介绍Java集合中常用的函数。 Collection接口 通用函数 | Co…

正点原子Linux学习笔记(七)在 LCD 上显示 png 图片

在 LCD 上显示 png 图片 21.1 PNG 简介21.2 libpng 简介21.3 zlib 移植下载源码包编译源码安装目录下的文件夹介绍移植到开发板 21.4 libpng 移植下载源码包编译源码安装目录下的文件夹介绍移植到开发板 21.5 libpng 使用说明libpng 的数据结构创建和初始化 png_struct 对象创建…

Mysql 8.0 -- 最新版本安装(保姆级教程)

Mysql 8.0 -- 最新版本安装&#xff08;保姆级教程&#xff09; ​​ 一&#xff0c;下载Mysql数据库&#xff1a; 官网链接&#xff1a;https://www.mysql.com/downloads/ 二&#xff0c;安装Mysql: 三&#xff0c;找到Mysql安装目录&#xff1a; 找到mysql安装目录&#xf…

Chronos:学习时间序列的大语言模型(代码解析)

前言 《Chronos: Learning the Language of Time Series》原文地址&#xff0c;Github开源代码地址Chronos&#xff1a;学习时间序列的大语言模型&#xff08;论文解读&#xff09;CSDN地址GitHub项目地址Some-Paper-CN。本项目是译者在学习长时间序列预测、CV、NLP和机器学习…

vue多选功能

废话不多说&#xff0c;直接上代码&#xff01;&#xff01;&#xff01; <template><div class"duo-xuan-page"><liv-for"(item, index) in list":key"index"click"toggleSelection(item)":class"{ active: sel…

加密“发射台”:未来通信的新模式

随着区块链技术的飞速发展&#xff0c;加密“发射台”作为一种新兴的安全通信工具&#xff0c;正逐渐受到关注。本文将从专业角度深入探讨加密“发射台”的概念、原理、应用场景及其未来发展趋势&#xff0c;以期为读者提供有深度和逻辑性的思考。 一、加密“发射台”的概念与…

Chromium 调试指南2024 Windows11篇-准备调试工具(二)

1. 前言 在上篇文章《Chromium 调试指南 2024 &#xff08;一&#xff09;》中&#xff0c;我们简单的概述了下调试的作用。 工欲善其事必先利其器&#xff0c;现在我们开始准备你的调试工具。 2. 准备你的调试工具 这里根据Chromium官方开发指南的推荐使用Visual Studio 2…

360极速浏览器X全新Chromium内核极致顺滑,绿色便携版 v22.3.1002.64

01 软件介绍 360极速浏览器X是一款基于Chromium 95的高级双核浏览器&#xff0c;支持IE内核&#xff0c;并优化了用户体验与性能。包括无广告弹窗&#xff0c;新增的阅读模式&#xff0c;个性化标签页壁纸&#xff0c;以及专业导航功能&#xff0c;旨在提供更快、更高效的浏览…

防火墙技术基础篇:解析防火墙应用层代理概念及功能

防火墙技术基础篇&#xff1a;解析防火墙应用层代理概念及功能 1 应用层代理的概念 应用层代理&#xff08;Application Proxy&#xff09;&#xff1a;防火墙应用层代理是网络安全领域中的一种重要技术&#xff0c;工作在OSI模型的第七层&#xff0c;即应用层。它通过代理服…

初步理解ECC

理解一下公钥加密的概念 公钥加密需要一对钥匙&#xff0c;公钥和私钥&#xff0c;公钥可以公开&#xff0c;而私钥不能泄露。 那就可以用公钥给明文加密 而只有私钥才能进行解密 而要想实现这个过程&#xff0c;就需要满足两个点 1&#xff1a;加密简单易行 2&#xff1a;解…

经常睡不好觉?试试用上华为手环9新升级的睡眠监测功能

睡眠问题是不是经常困扰着你呢&#xff1f;听说&#xff0c;华为手环9的睡眠监测功能升级了&#xff0c;无论是入睡前、睡眠中还是睡醒后&#xff0c;都能够帮助我们改善睡眠&#xff0c;让我们告别糟糕的睡眠质量&#xff01; 睡觉前&#xff0c;打开华为手环9的睡眠模式&…

Linux 操作系统TCP、UDP

1、TCP服务器编写流程 头文件&#xff1a; #include <sys/socket.h> 1.1 创建套接字 函数原型&#xff1a; int socket(int domain, int type, int protocol); 参数&#xff1a; domain: 网域 AF_INET &#xff1a; IPv4 AF_INET6 &a…

RockChip Android13 添加/删除ListPreference方法

概述: 本章将讲述在Android添加或删除ListPreference的几种方法,并以EthernetSettingsActivity为例,添加/删除一项ListPreference: 默认效果图: 添加后效果图: 方法一: 1、全部添加xml 在Activity类中使用addPreferencesFromResource()方法解析XML文件并添加Prefere…

OpenHarmony 实战开发——南向统一编译的docker镜像来了

由于我自己的南向设备开发平台的需求&#xff0c;我将当前几个不同的 docker 镜像版本进行了整合&#xff0c;经过一段时间的攻关和验证&#xff0c;目前整合已完成&#xff0c;新版本的 Dockerfile 如下&#xff0c;这个不是公共需求&#xff0c;所以没有提交主干&#xff0c;…

Linux学习笔记4---点亮LED灯(汇编裸机)

本系统学习利用的是正点原子的阿尔法mini开发板&#xff0c;本系列的学习笔记也是按照正点原子的教程进行学习&#xff0c;但并不是利用虚拟机进行开发&#xff0c;而是使用Windows下的子系统WSL进行学习。 因为 Cortex-A 芯片一上电 SP 指针还没初始化&#xff0c;C 环境还没准…

网络安全之弱口令与命令爆破(下篇)(技术进阶)

目录 一&#xff0c;什么是弱口令&#xff1f; 二&#xff0c;为什么会产生弱口令呢&#xff1f; 三&#xff0c;字典的生成 四&#xff0c;九头蛇&#xff08;hydra&#xff09;弱口令爆破工具 1&#xff0c;破解ssh登录密码 2&#xff0c;破解windows登录密码 3&#xf…

新增分类——后端

实现功能&#xff1a; 代码开发逻辑&#xff1a; 页面发送ajax请求&#xff0c;将新增分类窗口输入的数据以json形式提交到服务端服务端Controller接收页面提交的数据并调用Service将数据进行保存Service调用Mapper操作数据库&#xff0c;保存数据 代码实现&#xff1a; Con…

测试项目实战——安享理财1(测试用例)

说明&#xff1a; 1.访问地址&#xff1a; 本项目实战使用的是传智播客的安享理财项目&#xff08;找了半天这个项目能免费用且能够满足测试实战需求&#xff09; 前台&#xff1a;http://121.43.169.97:8081/ 后台&#xff1a;http://121.43.169.97:8082/ &#xff08;点赞收藏…

电脑ip地址设置成什么比较好

随着信息技术的快速发展&#xff0c;IP地址已成为电脑在网络世界中的“身份证”。它不仅是电脑在网络中进行通信的基础&#xff0c;也直接关系到网络连接的稳定性、安全性和效率。然而&#xff0c;面对众多IP地址设置选项&#xff0c;许多用户可能会感到困惑。那么&#xff0c;…

C#进阶-OleDb操作Excel和数据库

在C#编程中&#xff0c;使用OleDb可以方便地实现对Excel文件和数据库的操作。本文探讨了在C#中使用OleDb技术操作Excel和数据库的策略。文章详述了OleDb的定义、配置环境的步骤&#xff0c;并通过实际代码示例演示了如何高效读写Excel文件和交互数据库。文中还评估了OleDb技术的…