java读取Excel表格数据

server/2024/12/22 9:18:00/

java读取Excel表格数据

  • 环境说明
  • 项目结构
    • 1.controller层
    • 2.service层
    • 实现层
    • StudentModel.java
  • 使用的Maven依赖
  • 效果示例一
  • 效果示例二
  • 文档截图
    • 第一页
    • 第二页
  • postman请求说明
  • 其他说明

环境说明

jdk1.8,springboot2.5.3

项目结构

1.controller层

java">package com.example.pdf.controller;import com.example.pdf.service.ReadExcelFileService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import javax.annotation.Resource;@RestController
@RequestMapping(value = "read")
public class ReadExcelFileController {@Resourceprivate ReadExcelFileService readExcelFileService;@PostMapping("excelFile")public void excelFile(@RequestBody MultipartFile file) {readExcelFileService.excelFile(file);}
}

2.service层

java">package com.example.pdf.service;import org.springframework.web.multipart.MultipartFile;public interface ReadExcelFileService {/*** 读excel表格数据* */void excelFile(MultipartFile file);
}

实现层

java">package com.example.pdf.service.impl;import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.listener.PageReadListener;
import com.example.pdf.model.StudentModel;
import com.example.pdf.service.ReadExcelFileService;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;@Service
public class ReadExcelFileServiceImpl implements ReadExcelFileService {/*** 读excel表格数据** @param file*/@Overridepublic void excelFile(MultipartFile file) {try {// 最高缓存量,放满后存储一次数据库,然后清空缓存int batchCount = 100;EasyExcel.read(file.getInputStream(), StudentModel.class, new PageReadListener<StudentModel>(list -> {System.out.println("已完成" + list.size() + "条车辆数据读取...");for (StudentModel studentModel : list) {System.out.println("学生姓名:" + studentModel.getName() + ",学生年龄:" + studentModel.getAge());}}, batchCount)).sheet(0).doRead();} catch (Exception e) {System.out.println("读取数据异常!");}}
}

java_86">StudentModel.java

java">package com.example.pdf.model;import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;@Data
public class StudentModel {@ExcelProperty("姓名")private String name;@ExcelProperty("年龄")private Integer age;}

使用的Maven依赖

java"><!-- lombok插件 --><dependency><artifactId>lombok</artifactId><groupId>org.projectlombok</groupId><scope>provided</scope><version>1.18.10</version></dependency><!-- alibaba Excel --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.2</version></dependency>

效果示例一

在这里插入图片描述

效果示例二

在这里插入图片描述

文档截图

第一页

在这里插入图片描述

第二页

在这里插入图片描述

postman请求说明

在这里插入图片描述

其他说明

异常可根据具体业务进行补充,这里只是简单的演示


http://www.ppmy.cn/server/7259.html

相关文章

广东省道路货物运输资格证照片回执可手机线上办理

广东省道路运输资格证是从事道路运输业务、危险品道路运输人员的必要证件&#xff0c;而在办理该证件的过程中&#xff0c;驾驶员照片回执是一项必不可少的材料。随着科技的发展和移动互联网的普及&#xff0c;现在办理驾驶员照片回执已经不再需要亲自前往照相馆&#xff0c;而…

2、关于数据库事务那些事

目录 1、什么是事务&#xff1f; 2、介绍下数据库事务&#xff1f; 3、并发事务会带来什么问题&#xff1f; 3.1、不可重复读和幻读有什么区别&#xff1f; 4、数据库隔离级别有哪几种&#xff1f; 5、MySQL默认使用隔离级别是啥&#xff1f; 6、如何控制并发事务&#…

VUE - pdfmake的中文字库支持

前端VUE导出pdf。 jspdf这个插件对中文支持不够友好&#xff0c;用html的canvas转图片后还是很模糊。最终选用了pdfmake插件。 使用 1.引入pdf npm install pdfmake --save 2.页面import import pdfMake from pdfmake/build/pdfmake; import pdfFonts from pdfmake/build…

【计算机网络】 第一章-- 初步认识计算机网络

目录 网络与互联网与因特网的区别因特网服务提供者&#xff08;Internet Service Provider,ISP &#xff09;因特网标准 --- RFC因特网的组成电路交换&#xff0c;分组交换和报文交换电路交换分组交换报文交换 计算机网络的分类计算机网络的性能指标计算机网络体系结构各层的作…

Python单例模式

一、先认识几个魔术方法&#xff0c;对理解实例创建有帮助 __init__、__new__、__call__ 一、__new__方法 1、__new__方法负责创建一个实例对象&#xff0c;在对象被创建的时候调用该方法它是一个类方法。 2、__new__方法在返回一个实例之后&#xff0c;会自动的调用__init__方…

B树和B+树试题解析

一、单项选择题 01&#xff0e;下图所示是一棵&#xff08;A ). A.4阶B树 B.3阶B树 C.4阶B树 D.无法确定 02.下列关于m阶B树的说法中&#xff0c;错误的是( C ). A.根结点至多有m棵子树 B.所有叶结点都在同一层次上 C.非叶结点至…

LeetCode 热题 100 题解:普通数组部分

文章目录 题目一&#xff1a;最大子数组和&#xff08;No. 53&#xff09;题解 题目二&#xff1a;合并区间&#xff08;No. 56&#xff09;题解 题目三&#xff1a;轮转数组&#xff08;No. 189&#xff09;题解 题目四&#xff1a;除自身以外数组的乘积&#xff08;No. 238&a…

NPM 详解

NPM&#xff0c;全称 Node Package Manager&#xff0c;是 Node.js 的包管理器&#xff0c;用于安装、分享、发布 JavaScript 代码和软件包。通过 NPM&#xff0c;开发者可以方便地访问数以百万计的开源代码包&#xff0c;以及管理项目所需的依赖项。 使用 NPM&#xff0c;开发…