若依框架导入导出(Excel)

您所在的位置:网站首页 文件名怎么导入到excel里面 若依框架导入导出(Excel)

若依框架导入导出(Excel)

2023-08-15 10:24| 来源: 网络整理| 查看: 265

导出

html页面

定义的按钮

导出

映射的路径

exportUrl: prefix + "/export",

在这里插入图片描述

实体类 加入注解,导出谁就在谁上面加入注解----@Excel 在这里插入图片描述

在这里插入图片描述

Controller层 //导出 @Log(title = "学生管理", businessType = BusinessType.EXPORT) @RequiresPermissions("system:student:export") @PostMapping("/export") @ResponseBody public AjaxResult export(SysStudent student) { List list = studentService.selectStudentList(student); ExcelUtil util = new ExcelUtil(SysStudent.class); return util.exportExcel(list, "学生数据"); }

导入 没有模板就不知道要导入什么,所以需要先有一个模板 导入的时候,因必要条件还要确定是否重复,出现两个一摸一样的就没有必要了吧,我这是学生表,所以还需要对其通过名字进行查询

HTML页面 导入

映射

importUrl: prefix + "/importStudent",//导入 importTemplateUrl: prefix + "/importTemplate",//导出模板

导入的前端页面

是否更新已经存在的用户数据 ; 下载模板 提示:仅允许导入“xls”或“xlsx”格式文件! Controller层 /** * 下载模板 */ @RequiresPermissions("system:student:view") @GetMapping("/importTemplate") @ResponseBody public AjaxResult importTemplate() { ExcelUtil util = new ExcelUtil(SysStudent.class); return util.importTemplateExcel("学生数据"); } /** * 导入 */ @RequiresPermissions("system:student:import") @PostMapping("/importStudent") @ResponseBody public AjaxResult importStudent(MultipartFile file, boolean updateSupport) throws Exception { ExcelUtil util = new ExcelUtil(SysStudent.class); List studentList = util.importExcel(file.getInputStream()); String operName = ShiroUtils.getSysUser().getLoginName(); String message = studentService.importStudent(studentList, updateSupport, operName); return AjaxResult.success(message); } service层 /** * 导入学生数据 * * @param studentList 学生数据列表 * @param updateSupport 是否更新支持,如果已存在,则进行更新数据 * @param operName 是否更新支持,如果已存在,则进行更新数据 * @return 结果 */ public String importStudent(List studentList, Boolean updateSupport, String operName) ; serviceImpl层 /** * 导入用户数据 * * @param studentList 用户数据列表 * @param updateSupport 是否更新支持,如果已存在,则进行更新数据 * @param operName 操作用户 * @return 结果 */ private static final Logger log = LoggerFactory.getLogger(SysStudentServiceImpl.class); @Override public String importStudent(List studentList, Boolean updateSupport, String operName) { if (StringUtils.isNull(studentList) || studentList.size() == 0) { throw new BusinessException("导入用户数据不能为空!"); } int successNum = 0; int failureNum = 0; StringBuilder successMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder(); for (SysStudent student : studentList) { try { // 验证是否存在这个用户 SysStudent u = studentMapper.selectStudentByName(student.getStudentName() ); System.out.print(student.getStudentSex()+""); if (StringUtils.isNull(u)) { student.setStudentName(student.getStudentName()); this.insertStudent(student); successNum++; successMsg.append("" + successNum + "学校信息" + student.getStudentName() + " 导入成功"); } else if (updateSupport) { student.setUpdateBy(operName); this.updateStudent(student); successNum++; successMsg.append("" + successNum + "学校信息 " + student.getStudentName() + " 更新成功"); } else { failureNum++; failureMsg.append("" + failureNum + "学校信息" + student.getStudentName() + " 已存在"); } } catch (Exception e) { failureNum++; String msg = "" + failureNum + "学校信息" + student.getStudentName() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); log.error(msg, e); } } if (failureNum > 0) { failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); throw new BusinessException(failureMsg.toString()); } else { successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); } return successMsg.toString(); } mapper层

mapper.xml 写一个根据姓名查询的方法,避免重复的

where student_name = #{studentName}

在这里插入图片描述 mapper.java文件写方法

/** * 通过学生姓名查询学生 * * @param studentName 用户名 * @return 用户对象信息 */ public SysStudent selectStudentByName(String studentName);


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3