主页

25.使用POI实现Excel导入

数据导入主要涉及三个步骤: 文件上传; Excel 解析; 数据插入。 第三步就比较简单了,我们这里重点来看看前两个步骤。 25.1 文件上传 文件上传采用了 ElementUI 中的 Upload 控件,如下: <el-upload :show-file-list="false" accept="application/vnd.ms-excel" action="/emp/basic/importEmp" :on-success="fileUploadSuccess" :on-error="fileUploadError" :disabled="fileUploadBtnText=='正在导入'" :before-upload="beforeFileU...

阅读更多

24.axios下载文件

一般情况下我们用axios请求数据,返回的都是字符串、json、xml 等数据,下载的话基本都是二进制数据,常见的解决方案如下: var iframe = document.createElement("iframe"); iframe.style.display = 'none'; iframe.src = "/emp/basic/exportEmp"; iframe.onload=function () { document.body.removeChild(iframe); } document.body.appendChild(iframe); 即动态创建一个 iframe,src 即请求地址,不过我感觉还是没必要这么麻烦,我这里采用了下面这种方式: window....

阅读更多

23.POI生成Excel

整体来说,Excel有 .xls 和 .xlsx ,那么在 POI 中这两个也对应两个不同的类,但是类名不同,方法基本都是一致的,因此我这里将只介绍 .xls 一种。 整体来说,可以分为如下七个步骤: 创建 Excel 文档 HSSFWorkbook workbook = new HSSFWorkbook(); 设置文档的基本信息(可选) //获取文档信息,并配置 DocumentSummaryInformation dsi = workbook.getDocumentSummaryInformation(); //文档类别 dsi.setCategory("员工信息"); //设置文档管理员 dsi.setManager("江南一点雨"); //设置组织机...

阅读更多

22.SpringMVC文件下载的两种方式

servlet 里边的下载很多小伙伴应该都很熟悉,用 HttpServletResponse 往出写即可,当然更多时候我们使用 apache 上的开源工具类 commons-io 来实现,核心代码如下: protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String fileName = req.getParameter("file"); String downloadFolder = req.getServletContext().getRealPath("/WEB-INF/download");...

阅读更多

21.Excel导入导出效果图

首先员工基本资料页面多了两个按钮: 导出时浏览器会提示下载: 上传效果: 生成的 Excel 如下: 扫码关注微信公众号 江南一点雨,回复 2TB,获取超 2TB Java 学习教程~

阅读更多

20.高级搜索功能介绍

上个版本我们已经完成了基本的搜索功能,可以通过员工姓名进行搜索,为了使搜索条件更丰富,我增加了高级搜索功能,架子已经搭建好了,小伙伴如果觉得高级搜索的条件还是不够,想要继续增加,直接增加条件即可,当然添加了新的搜索条件之后,前后端要同时更新。 效果图如下: 需要注意的是高级搜索和普通搜索不可以同时使用。另外当用户关闭高级搜索框后,高级搜索条件会自动清空。 扫码关注微信公众号 江南一点雨,回复 2TB,获取超 2TB Java 学习教程~

阅读更多

19.SpringBoot中自定义参数绑定

正常情况下,前端传递来的参数都能直接被 SpringMVC 接收,但是也会遇到一些特殊情况,比如 Date 对象,当我的前端传来的一个日期时,就需要服务端自定义参数绑定,将前端的日期进行转换。自定义参数绑定也很简单,分两个步骤: 自定义参数转换器 自定义参数转换器实现 Converter 接口,如下: public class DateConverter implements Converter<String,Date> { private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); @Override public Date conve...

阅读更多

18.员工基本信息管理功能介绍

由于员工的高级信息依赖于其他模块,因此这里暂时没有做这个功能,只做了普通的增删改查,后面可能还会再添加一个高级搜索功能(暂定)。目前完成的功能如下: 添加员工 修改员工信息 删除员工 除此之外,还有分页、批量删除、基本搜索等功能。 扫码关注微信公众号 江南一点雨,回复 2TB,获取超 2TB Java 学习教程~

阅读更多

17.[题外话]利用git标签回退至任意版本

由于本项目在不停的更新,小伙伴们的需求不尽相同,有的小伙伴可能只需要看权限管理模块,有的小伙伴需要看部门管理等等。因此,我现在给每一次的提交都打了 tag,下面我简单介绍下 tag 的用法。 当小伙伴从 GitHub 上将项目克隆下来之后,可以通过 git tag 命令来查看当前有哪些 tag,如下: tag 的版本号就是提交的日期,小伙伴可以根据 readme 文档中的更新记录来确定你想回到哪一个版本中,比如我想退回到 v20180107 这个版本去,此时通过 git show v20180107 命令来查看对应的版本号,如下: commit 后面的就是对应的提交版本号,然后通过 git reset --hard 5eb9cf18a 命令即可回到只有权限管理模块的时代。...

阅读更多

16.组件复用

小伙伴们都看到了,这里两个表格非常像,但是不一样,考虑到两个表格可复用性非常大,因此我创建一个组件 PosMana 来实现这两个功能,组件注册成功后,按如下方式引用: <el-tabs v-model="defaultTab" type="card"> <el-tab-pane label="部门管理" name="depMana"> <dep-mana></dep-mana> </el-tab-pane> <el-tab-pane label="职位管理" name="positionMana"> <pos-mana state="position"><...

阅读更多