转载请标明出处:
https://blog.youkuaiyun.com/weixin_41965979/article/details/91044971
本文出自付付讶的博客
公司要求增加一个上传excel,并读取其中数据批量写入数据库的功能,测试完遂整理一下方便以后使用,同时也给大家实现类似功能一个参考,框架使用ssm,导入excel使用的第三方依赖Poi,结合自身业务修改即可。
备注:因为公司excel模板里存在下拉框多选项情况,又因为这些多选项都必须用数据字典解析成code码,所以其中有拆分 和拼接逗号代码,可以忽略,我代码里有写注释。
一、添加poi依赖包
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.12-beta1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.12-beta1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.12-beta1</version>
</dependency>
二、controller层
@ApiOperation(value = "批量上传")
@PostMapping(value="/exportExcel",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public Result exportExcel(String dataTime,MultipartFile file)throws Exception{
List<String> error = facilityService.exportExcel(dataTime,file);
if(ValidateUtil.isNotEmpty(error)){
return Result.error(500,JSONArray.toJSONString(error));
}else {
return Result.ok();
}
}