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

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.lryc.cn/news/614963.html

相关文章:

  • linux安装php
  • 模板引擎art-template
  • 深入剖析Spring MVC核心原理:从请求到响应的魔法解密
  • AI 算法优化实战指南:从理论到部署的全流程优化策略
  • K-means聚类学习:原理、实践与API解析
  • 从反射到方法句柄:深入探索Java动态编程的终极解决方案
  • 从零玩转Linux云主机:免费申请、连接终端、命令速查表
  • 灾后食物能源协调供应优化模型
  • 《算法导论》第 15 章 - 动态规划
  • 基于开源AI大模型、AI智能名片与S2B2C商城小程序的学习型社群构建与运营模式创新研究
  • rem:CSS中的相对长度单位
  • IntelliJ IDEA 新手全方位使用指南
  • 网站站长如何借助php推送示例提交网站内容加速百度收录?
  • webwork的学习
  • 7天精通Coze智能体实操手册(Day 1)
  • Go语言实战案例:表单提交数据解析
  • Express中间件和路由及响应方法
  • golang的二维数组
  • vulnhub-Beelzebub靶场通关攻略
  • Nginx 功能扩展与二次开发实践
  • 目标检测数据集 - 无人机检测数据集下载「包含COCO、YOLO两种格式」
  • 1.JavaScript 介绍
  • 130Kw双向储能PCS电源及关键技术分析
  • 彻底解决vscode中fnm调用失败的问题
  • 嵌入式 Linux Mender OTA 实战全指南
  • Microsoft 365中的Message Encryption (Basic)功能深度解析
  • 【JVM】深入解析Java虚拟机
  • Vitalik谈以太坊:ETH财库储备策略“有益且有价值”
  • Jmeter性能测试之安装及启动Jmeter
  • 检索增强生成:RAG(Retrieval Augmented Generation)