前言
做OA管理系统的时候,刚好有个需求:数据批量导入数据库功能,一般都是用Excel文件导入,这里就以Excel为例
工具及插件
项目框架:SpringBoot + Mybatis + MySQL
第三方插件:Lombok
项目引用的是Apache poi导入Excel文件
导入的Excel 样式,如图:
注意:这里Excel中的sheet有几个个硬性要求
1. sheet的名字无所谓,但位置一定要是放在第一个
2. 列名顺序绝对不能乱!!!后台是获根据每个列号来获取数据的!!
一、前端调用
使用ajax调用后台接口,上传Excel文件
二、后端接口
代码中引用了lombok插件,直接使用注解的方式
Result类 是我自己封装的一个返回结果类
Maven
<!-- poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.17</version>
</dependency>
控制层Controller
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Map;
@RestController
@RequestMapping("excel")
public class ExcelController {
@Autowired
private ExcelService excelService;
/**