又是很久没写博客了,最近在弄一个批量导入的功能,按照古老的做法,当然是一行一行的解析然后根据字段所在的下标或者一列一列的解析依次赋值给bean对象。但是这种古老的方法弊端确实太多,于是想弄一个,根据表头中文名来自动匹配字段,然后根据行数自动创建bean对象的方式,实现标准数据的通用解析。
在具体实现之前,首先得确定一个问题:你了解java的泛型吗?
为什么我会提出这个问题,因为既然是做通用的,那么你的bean对象就一定不是固定的,这就必须用到泛型。
实现(理论):
1、获取前端上传的文件(spring mvc方式)
@RequestParam(value = "file", required = true) MultipartFile file
2、获取输入流
InputStream input = file.getInputStream();
3、定义一个Map,以excel表头作为key,以bean字段名作为value