问题描述:
org.springframework.web.util.NestedServletException: Handler dispatch failed;
nested exception is java.lang.NoSuchMethodError: org.apache.poi.ss.usermodel.Cell.getCellType()Lorg/apache/poi/ss/usermodel/CellType;
问题分析:
1、使用Hutool工具包的ExcelReader.read()方法报错,因为poi3.17版本的Cell.getCellType()返回int而不是org.apache.poi.ss.usermodel.CellType。
public List<List<Object>> readData(MultipartFile file) {
List<List<Object>> resultList = new ArrayList<>();
try {
//读取数据
ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
resultList = reader.read();
} catch (Exception e) {
e.printStackTrace();
}
return resultList;
}
解决办法:
加入Poi4.0.0依赖即可。
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.0.0</version>
</dependency>