【配置准备】
项目采用的是springmvc,采用maven管理项目
①做导入导出就要引入相应的excel的jar包,在pom.xml文件中添加依赖:
②在SpringMVC.xml文件中的配置:org.apache.poi poi-ooxml5.0.0
前端页面导出代码
前端页面导入代码
同步导出Controller层
@RestController
public class UserInfoController {
@Autowired
private DepartInfoService departInfoService;
@Autowired
private UserStateService userStateService;
@RequestMapping("/importUserInfo")
public String importUserInfo(@RequestPart("upFile") MultipartFile multipartFile) throws IOException {
if (!multipartFile.getOriginalFilename().endsWith(".xlsx")) {
return "非excel文件";
}
// 创建一个集合存储Excel读取员工信息
List list = new ArrayList<>();
XSSFWorkbook workbook = new XSSFWorkbook(multipartFile.getInputStream());
// 获取第一页的数据
XSSFSheet sheet = workbook.getSheetAt(0);
// 获取总行数
int rowTotal = sheet.getLastRowNum();
// 遍历读取每行
for (int i = 1; i < rowTotal; i++) {
XSSFRow row = sheet.getRow(i);
UserInfo userInfo = new UserInfo();
userInfo.setUserId(row.getCell(0).getStringCellValue());
userInfo.setUserName(row.getCell(1).getStringCellValue());
String gender = row.getCell(2).getStringCellValue();
userInfo.setGender(Integer.parseInt(gender));
userInfo.setDepartInfoName(row.getCell(3).getStringCellValue());
userInfo.setUserStateName(row.getCell(4).getStringCellValue());
//将该对象装入集合中
list.add(userInfo);
}
//解决部门状态的ID
List departInfos = departInfoService.selDepartInfo();
List userStates = userStateService.selUserState();
// 列表遍历
list.forEach(userInfo -> {
// 给员工赋值对应部门的id
for (DepartInfo d : departInfos) {
if (userInfo.getDepartInfoName().equals(d.getDepartName())) {
userInfo.setDepartId(d.getDepartId());
break;
}
}
for (UserState u : userStates) {
if (userInfo.getUserStateName().equals(u.getUserStateName())) {
userInfo.setUserStateId(u.getUserStateId());
break;
}
}
});
long count = userInfoService.addUserInfoAll(list);
//路径
return count+"";
}
同步导出Controller层
@RequestMapping("/exportUserInfo")
public void exportUserInfo(HttpServletResponse response) throws IOException, IllegalAccessException {
//查询所有的员工信息
List list = userInfoService.selUserInfoAll();
//调用Excel工具类的导出功能
new ExcelUtils().export(list, response, UserInfo.class, "员工表");
}
Service层实现
List selUserInfoAll();
long addUserInfoAll(List list);
serviceImpl类
@Override public ListselUserInfoAll() { return userInfoDao.selUserInfoAll(); } @Override public long addUserInfoAll(List list) { return userInfoDao.addUserInfoAll(list); }
Dao层实现
ListselUserInfoAll(); long addUserInfoAll(List list);
resoures中Mapper.xml文件配置
insert into userInfo(userId,userName,gender,departId,userState)values (#{u.userId},#{u.userName},#{u.gender},#{u.departId},#{u.userStateId})



