1、引入依赖
<!-- easypoi依赖 -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.1.2</version>
</dependency>
2、创建excel模板
3、数据库对应table
4、相关方法
public ResultVO<Boolean> saveCompanyEnter(MultipartFile file) {
try {
//存放数据的List
List<LitemallCompanyEnterTemporary> tempList = new ArrayList<>();
//将MultipartFile转成File
ImportParams params = new ImportParams();
params.setTitleRows(1); //表格标题行数
String filePath = "exportTemp/firmImport.xls"; //模板存放地址
File f = new File(filePath);
FileUtils.copyInputStreamToFile(file.getInputStream(), f);
ExcelImportResult<Map> result = ExcelImportUtil.importExcelMore(f, Map.class, params);
for (Map map : result.getList()) {
if (map.get("序号") != null) {
LitemallCompanyEnterTemporary temporary = new LitemallCompanyEnterTemporary();
if (map.get("企业名称") != null) {
temporary.setName(map.get("企业名称").toString());
} else {
return ResponseUtil.fail("000", "企业名称不能为空!!!");
}
if (map.get("企业类型") != null) {
switch (map.get("企业类型").toString()) {
case "高新技术企业":
temporary.setType(0);
break;
case "新产品备案企业":
temporary.setType(1);
break;
case "技术先进型服务企业":
temporary.setType(2);
break;
case "军工企业":
temporary.setType(3);
break;
case "其他":
temporary.setType(4);
break;
}
} else {
return ResponseUtil.fail("000", "企业类型不能为空!!!");
}
if (map.get("注册时间") != null) {
temporary.setTime(map.get("注册时间").toString());
} else {
return ResponseUtil.fail("000", "企业注册时间不能为空!!!");
}
if (map.get("从业人数") != null) {
String number = map.get("从业人数").toString();
final Pattern pattern = Pattern.compile("-?[0-9]+\\.?[0-9]*"); // 该正则表达式可以匹配所有的数字 包括负数
Matcher isNum = pattern.matcher(number); // matcher是全匹配
if (isNum.matches()) {
temporary.setNumber(Integer.valueOf(number));
} else {
return ResponseUtil.fail("000", "请填写正确数量!!!");
}
} else {
return ResponseUtil.fail("000", "企业从业人数不能为空!!!");
}
if (map.get("注册资金") != null) {
String fund = map.get("注册资金").toString();
BigDecimal fundDe = new BigDecimal(fund).setScale(2, BigDecimal.ROUND_DOWN);
temporary.setPrice(fundDe);
} else {
return ResponseUtil.fail("000", "企业从业人数不能为空!!!");
}
if (map.get("企业网址") != null) {
temporary.setLink(map.get("企业网址").toString());
}
if (map.get("企业介绍") != null) {
temporary.setBrief(map.get("企业介绍").toString());
}
if (map.get("主要产品") != null) {
temporary.setProduct(map.get("主要产品").toString());
} else {
return ResponseUtil.fail("000", "企业主要产品不能为空!!!");
}
if (map.get("统一社会信用代码") != null) {
temporary.setCode(map.get("统一社会信用代码").toString());
} else {
return ResponseUtil.fail("000", "企业统一社会信用代码不能为空!!!");
}
if (map.get("企业法人") != null) {
temporary.setLegalPerson(map.get("企业法人").toString());
} else {
return ResponseUtil.fail("000", "企业法人不能为空!!!");
}
if (map.get("固定电话") != null) {
temporary.setPhone(map.get("固定电话").toString());
}
if (map.get("电子邮箱") != null) {
String emailStr = map.get("电子邮箱").toString();
if (RegexUtil.isEmail(emailStr)) {
temporary.setEmail(map.get("电子邮箱").toString());
} else {
return ResponseUtil.fail("000", "请填写正确的电子邮箱!!!");
}
}
if (map.get("联系地址") != null) {
temporary.setAddress(map.get("联系地址").toString());
} else {
return ResponseUtil.fail("000", "企业联系地址不能为空!!!");
}
temporary.setStatus(0); //状态:0未同步 1已同步 2已存在未同步
temporary.setAddTime(new Date());
temporary.setUpdateTime(new Date());
temporary.setDeleted(false);
tempList.add(temporary);
}
}
Boolean b = false;
if (!tempList.isEmpty() && tempList.size() > 0 && tempList != null) {
b = saveBatch(tempList);
if (!b) {
return ResponseUtil.fail("000", "添加导入企业信息失败!!!");
}
}
return ResponseUtil.ok(b);
} catch (IOException e) {
e.printStackTrace();
return ResponseUtil.fail("000", e.getMessage());
}
}
5、最终效果
6、划重点(哈哈)
最后:
如果有写的不对的地方,请各位指正。。。。当然,如果对你有用,点个赞呗。。。