# easyexcel **Repository Path**: lan_nan/easyexcel ## Basic Information - **Project Name**: easyexcel - **Description**: 通过easyexcel实现excel的上传下载 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-05-30 - **Last Updated**: 2022-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 简要介绍 该项目通过easyexcel实现excel的导入、导出和模板下载 码云地址:https://gitee.com/lan_nan/easyexcel #### **创建表** college(学院表): | 字段名称 | 数据类型 | 说明 | | :------: | :------: | :------: | | cid | bigint | **主键** | | c_name | varchar | 学院名称 | major(专业表): | 字段名称 | 数据类型 | 说明 | | :--------: | :------: | :------------: | | mid | bigint | **主键** | | m_name | varchar | 专业名称 | | college_id | bigint | **外键**学院id | class_grade(班级表): | 字段名称 | 数据类型 | 说明 | | :------: | :------: | :------------: | | gid | bigint | **主键** | | g_name | varchar | 班级名称 | | m_id | bigint | **外键**专业id | student(学生表): | 字段名称 | 数据类型 | 说明 | | :---------: | :------: | :--------------: | | sid | bigint | **主键**自动增长 | | number | varchar | 学号 | | identity | varchar | 身份证 | | report_date | datetime | 报道日期 | | photograph | varchar | 照片路径 | | state | varchar | 状态(是否在校) | | class_id | bigint | **外键**班级id | #### 下载 1. 文件下载 在upload下手动创建test.xlsx,来实现下载功能 链接:http://localhost:8080/student/download ![/typora-img/image-20220529221751463](/typora-img/image-20220529221751463.png) 2. 模板下载 通过easyexcel创建的对象来生成模板 链接:http://localhost:8080/student/downloadModel ![/typora-img/image-20220529221854235](/typora-img/image-20220529221854235.png) 3. 导出下载 通过easyexcel来和数据库中数据生成,如何通过流发送给用户 链接:http://localhost:8080/student/export ![/typora-img/image-20220529225746681](/typora-img/image-20220529225746681.png) ![/typora-img/image-20220529225822102](/typora-img/image-20220529225822102.png) #### 导入数据 首先为了防止并发,在方法上加上synchronized,然后创建监听器,来读取每一条数据,进行判断是否重复 上传excel导入到数据库中:http://localhost:8080/student/test ![/typora-img/image-20220529222029694](/typora-img/image-20220529222029694.png) ![/typora-img/image-20220529222137411](/typora-img/image-20220529222137411.png) ![/typora-img/image-20220529223246809](/typora-img/image-20220529223246809.png) ![/typora-img/image-20220529224121956](/typora-img/image-20220529224121956.png) ![/typora-img/image-20220529224026266](/typora-img/image-20220529224026266.png) ![/typora-img-img/image-20220529224051965](/typora-img/image-20220529224051965.png) 做下面的测试,先把数据库清空 ![/typora-img/image-20220529225016494](/typora-img/image-20220529225016494.png) ![/typora-img/image-20220529224248693](/typora-img/image-20220529224248693.png) ![/typora-img/image-20220529225056217](/typora-img/image-20220529225056217.png) 因为数据很多,所以读的很慢,大概需要十分钟左右(需要耐心等待) ![/typora-img/image-20220529224857981](/typora-img/image-20220529224857981.png) ![/typora-img/image-20220529225630972](/typora-img/image-20220529225630972.png)