1.pom引入
<!--easyPoi-->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>3.2.0</version>
</dependency>
2.导入方法
public class EasyPoiUtils {
/**
* 功能描述:根据文件路径来导入Excel
*
* @param filePath 文件路径
* @param titleRows 表标题的行数
* @param headerRows 表头行数
* @param pojoClass Excel实体类
* @return
*/
public static <T> List<T> importExcel(String filePath, Integer titleRows, Integer headerRows, Class<T> pojoClass) {
ImportParams params = new ImportParams();
params.setTitleRows(titleRows);
params.setHeadRows(headerRows);
List<T> list = null;
try {
list = ExcelImportUtil.importExcel(new File(filePath), pojoClass, params);
} catch (NoSuchElementException e) {
throw new RuntimeException("excel文件不能为空");
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
/**
* 功能描述:根据接收的Excel文件来导入Excel,并封装成实体类
*
* @param file 上传的文件
* @param titleRows 表标题的行数
* @param headerRows 表头行数
* @param pojoClass Excel实体类
* @return
*/
public static <T> List<T> importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class<T> pojoClass) {
ImportParams params = new ImportParams();
params.setTitleRows(titleRows);
params.setHeadRows(headerRows);
List<T> list = null;
try {
list =ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);
} catch (NoSuchElementException e) {
throw new RuntimeException("excel文件不能为空");
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
return list;
}
}
3.构建实体类
@Data
@ExcelTarget("ClassScheduleEntity")
public class ClassScheduleEntity implements Serializable {
@Excel(name = "序号",isImportField = "true_st")
private int id;
@Excel(name = "星期一",isImportField = "true_st")
private String mondayCourse;
@Excel(name = "星期二",isImportField = "true_st")
private String tuesdayCourse;
@Excel(name = "星期三",isImportField = "true_st")
private String wednesdayCourse;
@Excel(name = "星期四",isImportField = "true_st")
private String thursdayCourse;
@Excel(name = "星期五",isImportField = "true_st")
private String fridayCourse;
}
4.方法调用
public static void main(String[] args) throws Exception {
String path='文件地址';
List<ClassScheduleEntity> list=EasyPoiUtils.importExcel(path,1,1, ClassScheduleEntity.class);
}