前言
使用SpringBoot + mybatis-plus + poi 实现excel文件的上传
第一步:导入所需依赖
在pom.xml文件中导入poi的依赖
<!-- excel导入依赖 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
记得刷新maven 及时导入依赖
第二步:创建ReloadExcelTest.java
创建java文件
获取工作薄 - - 获取工作表 --获取行数 — 循环获得每行数据
Row rowValue = sheet.getRow(i); //行类型 存储每行数据 DataFormatter formatter = new DataFormatter(); String value = formatter.formatCellValue(rowValue.getCell(j)); //获取单元格值
package tech.niua.admin.outputValue.utils.reloadexcel;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.IOException;
public class ReloadExcelTest {
public static void readExcel(String reloadPath) throws IOException {
//1.获取工作簿
XSSFWorkbook workbook = new XSSFWorkbook(reloadPath);
//2.获取工作表
XSSFSheet sheet = workbook.getSheetAt(0);
//获取行
//cell.setCellType(Cell.CELL_TYPE_STRING); //将不同类型的数据类型转为String
int lastRowNum = sheet.getLastRowNum();
for (int i = 1; i <= lastRowNum; i++) {
Row rowValue = sheet.getRow(i);
//获取每一行中每一个单元格的数据的数据
for (int j = 0; j < 4; j++) {
DataFormatter formatter = new DataFormatter();
String value = formatter.formatCellValue(rowValue.getCell(j));
System.out.print(value+" ");
}
System.out.println(outputValueEntity);
System.out.println();
}
}
}
第三步:测试
在 ReloadExcelTest中书写main方法测试,路径根据自己的excel文件修改
public static void main(String[] args) throws IOException {
String reloadPath="D:\\ExcelTest\\test.xlsx";
ReloadExcelTest.readExcel(reloadPath);
}
总结
此工具类可以作为公共方法,在许多需要导入excel数据的业务场景中都可以用到。