文章目录
0. 前言
每当我使用Java进行编码的时候,就感觉自己像是一个拿着AK进行战斗的黑人🙃
【此处省略一张图】
本以为能够两天完成的毕设Excel文件上传与解析模块,没想到却花了足足四天才实现大半。(菜的程度可见一斑。)
先是找了EasyExcel的相关教程进行学习(例如:教程),优快云上的各种EasyExcel教程基本都是按照这个教程来写的,可它们要么省略了一些步骤或源码,难以看懂,要么是涵盖了很多类型的Excel操作,同样难以看懂,因此在亲自尝试后没能做出来。
然后发现教程中用到了MyBatis Plus与MyBatis Plus Generator,就去简单学习了一下MPG;可刚学完又发现用到了Swagger和其他的一些依赖…告辞👋🏻
幸运的是后来遇上了POI,在一份大佬教程与一位大佬实体的帮助下终于成功实现了上传Excel文件,解析后将数据插入到了数据库。
1. 效果
1.1 Excel文件

1.2 网页页面


1.3 数据库

2. 思路
-
使用
Poi
与Poi-ooxml
实现Excel解析 -
使用
MySQL
与MyBatis
实现数据库连接与操作 -
使用
Commons-Fileupload
与Commons-IO
实现文件上传与IO流
3. 项目结构

4. 项目源码
4.1 pom.xml
添加相关依赖
<!-- Excel相关 -->
<!-- 1. Poi:针对Excel2003(后缀为.xls) -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>
<!-- 2. Poi-ooxml:针对Excel2007及以后版本(后缀为.xlsx) -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>
<!-- 数据库相关 -->
<!-- 1. MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<!-- 2. MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- 其它 -->
<!-- 1. 文件上传 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<!-- 2. io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
4.2 application.properties
相关配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/silk_dormitory?&useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=12345678