当前位置: 首页 > ds >正文

springBoot集成easyExcel 实现文件上传

文件上传案例

添加依赖

		<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dependency>

添加实体对象

import lombok.Data;@Data
public class Student {private Long id;//姓名private String name;//班级private String classes;//所属学院private String college;//别名private String alias;
}

添加对象监听器

package com.wl.std.kaixin.listener;import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.wl.std.kaixin.controller.Student;
import lombok.Getter;import java.util.ArrayList;
import java.util.List;public class StudentListener extends AnalysisEventListener<Student> {@Getterprivate List<Student> studentList = new ArrayList<>();public StudentListener(){super();studentList.clear();}/*** 每一条数据解析都会调用*/@Overridepublic void invoke(Student student, AnalysisContext analysisContext) {studentList.add(student);}/*** 所有数据解析完成都会调用*/@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {studentList.forEach(System.out::println);}
}

添加controller

package com.wl.std.kaixin.controller;import com.alibaba.excel.EasyExcel;
import com.wl.std.kaixin.listener.StudentListener;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.List;@RequestMapping("/excel")
@Controller
public class OperateExcelController {//方法1:读取指定的Excel@GetMapping(value = "/readExcel")@ResponseBodypublic List<Student> readExcel() {String fileName = "student.xls";StudentListener teacherListener = new StudentListener();EasyExcel.read(fileName, Student.class, teacherListener).sheet().doRead();return teacherListener.getStudentList();}
}

编写一个excel 实现读取excel 的数据的功能
在这里插入图片描述
代码运行效果:
在这里插入图片描述
注意高版本的JDK 可能会报反射错误,需要添加JVM 参数
java.lang.ClassFormatError accessible: module java.base does not “opens java.lang” to unnamed module @7229724f 错误信息
在启动参数里添加如下信息
–add-opens java.base/java.lang=ALL-UNNAMED
开发工具中添加如下:
在这里插入图片描述

http://www.xdnf.cn/news/17504.html

相关文章:

  • 【Spring Boot启动流程底层源码详解】
  • 【从汇编语言到C语言编辑器入门笔记7】 - C语言编译器执行过程
  • Web3: 用ERC-1400革新公司股权激励
  • 【LeetCode 热题 100】(六)矩阵
  • 扩散LLM推理新范式:打破生成长度限制,实现动态自适应调节
  • 组合期权:垂直价差
  • 【股票数据API接口17】如何获取强势股池数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • 【线性代数】线性方程组与矩阵——行列式
  • Red Hat Enterprise Linux 7.9安装Oracle 11.2.0.4单实例数据库-图文详解
  • Docker部署whisper转写模型
  • VS Git巨坑合并分支失败导致多项无关改变
  • urmom damn the jvm
  • SqlSugar vs EF Core 对比 2025年 .NET ORM
  • GPT-5深度解析:革命性AI模型的全面报告与实战指南
  • 零基础小白如何使用QGIS制作研究区地形区位图教程
  • 浅试A2A
  • 宁商平台税务升级之路:合规为纲,服务为本
  • SVM算法实战应用
  • ESP32-menuconfig(2) -- Application manager
  • 线程死锁相关知识点
  • 如何在 Ubuntu 24.04 LTS 或 22.04/20.04 上安装 Apache Maven
  • 特征值和特征向量的直觉
  • DeepSeek辅助编写的带缓存检查的数据库查询缓存系统
  • Omron(欧姆龙)SysmacStudio软件下载,定期更新(最新更新到1.63升级包)
  • 软件销售跟进思路
  • 网络基础——网络层级
  • HTML应用指南:利用GET请求获取全国Apple Store 零售店位置信息
  • 内网穿透原理与部署实战指南:从理论到企业级应用
  • pycharm常见环境配置和快捷键
  • 五、SpringBoot工程打包与运行