先引入Apache poi的依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
在引入依赖之后,我们就可以开始进行操作了,首先,导入Excel数据,我们要先能够读取Excel每一行每一列的内容,只有读取到内容了,才可以将内容存入数组,最后实现插入数据库。所以我们要先读取Excel表格的数据,我的项目是springboot,我在service定义了一个读取方法,然后在impl里面进行实现,具体代码为
public class ImportOrderDTO {
private String filePath;
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
}
/**
* 读取导入数据 excel 内容
*
* @param importOrderDTO 导入参数
* @param rootPath 根路径
* @return result
*/
public static final String SEPA = File.separator;//这是下面用到的常量,自己放好位置
private List<User> readExcel(ImportOrderDTO importOrderDTO, String rootPath) {
List<User> excelContent = new ArrayList<>();
try {
InputStream inputStream = new FileInputStream(rootPath + SEPA + importOrderDTO.getFilePath());
XSSFWorkbook wb = new XSSFWorkbook(inputStream);
//遍历所有表,只支持xlsx,xls的是H的类
XSSFSheet xssfSheet = wb.getSheetAt(0);
int lastRowNum = xssfSheet.getLastRowNum();
for (int i = 0; i <= lastRowNum; i++) {
// 通过下标获取行
XSSFRow row = xssfSheet.getRow(i);
// 从行中获取数据
if (row.getRowNum() == 0) {
continue;