Hutool工具使用(验证码生成、Excel文件的导入、导出)

简介: Hutool工具使用(验证码生成、Excel文件的导入、导出)

1、Hutool工具简介

HuTool工具(糊涂工具),第三方插件工具,简化操作,是国产的一个产品,界面简洁易懂,比较人性化。(上班可能经常用的到,建议收藏起来)

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。


2、Hutool的相关依赖

maven项目在pom.xml添加以下依赖即可:

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>4.6.3</version>
</dependency>

3、验证码工具

   @Test
    public void hutoolCodeTest() throws FileNotFoundException {
        /**、
         * 1、创建一个验证码:
         *  验证码 captcha['kæptʃə]
         *  line:线条
         *  参数说明
         *  width:宽度
         *  height:高度
         *  codeCount:字符数量
         *  lineCount:干扰线数量
         */
        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 40, 4, 4);
        //2.获得生成的验证码的真实码值
        String code = lineCaptcha.getCode();
        System.out.println(code);
        //3.将验证码图片输出到D盘根目录下
        lineCaptcha.write(new FileOutputStream("D:/text.png"));
    }

image.png

4、excel工具

POI依赖导入,否则报错

You need to add dependency of 'poi-ooxml' to your project, and version >= 3.17


 <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>3.17</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml-schemas</artifactId>
      <version>3.17</version>
    </dependency>

(1)Exel导出

 @Test
    public void HutollDownLoadExcelTest() throws FileNotFoundException {
        //1.创建一个Excel写出工具Writer
        ExcelWriter writer = ExcelUtil.getWriter(true);
        //2.模拟List数据
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        //3.将list数据输出到excel中
        writer.write(list);
        //4. 将填充数据后的excel文件保存在d盘文件中.
        writer.flush(new FileOutputStream("d:/id.xlsx"));
    }

image.png


(2)excel导出详细讲解

实体类

public class User {
    private String id;
    private String name;
    private Integer age;

测试类

//1. 创建一个Excel写出工具Writer
        ExcelWriter writer = ExcelUtil.getWriter(true);
        //2. 设置别名
        writer.addHeaderAlias("id","编号");
        writer.addHeaderAlias("name","名字");
        writer.addHeaderAlias("age","年龄");
        writer.addHeaderAlias("birth","生日");
        //3. 先输出一行标题(参数1是跨列数, 从0开始. 参数2 是标题字符串)
        writer.merge(3,"标题");
        //4. 模拟list集合数据
        List<User> users = getUsers();
        //5. 将users数据输出到excel文件中.
        writer.write(users,true);// true表示并输出标题。
        //6. 将填充数据后的excel文件保存在d盘文件中.
        writer.flush(new FileOutputStream("D:/users.xlsx"));
    }
    private List<User> getUsers(){
        List<User> list = new ArrayList<>();
        list.add(new User("1001","张三",18,new Date()));
        list.add(new User("1002","张三",18,new Date()));
        list.add(new User("1003","张三",18,new Date()));
        list.add(new User("1004","张三",18,new Date()));
        return list;
    }


image.png

(2)Excel导入

 @Test
    public void HutollUploadExcelTest() throws FileNotFoundException {
        //1. 创建一个Excel读取工具reader
        ExcelReader reader = ExcelUtil.getReader(new FileInputStream("D:/users.xlsx"));
        //2. 设置读取的数据的别名和封装的实体的属性对应关系.
        reader.addHeaderAlias("编号","id");
        reader.addHeaderAlias("名字","name");
        reader.addHeaderAlias("年龄","age");
        reader.addHeaderAlias("生日","birth");
    /*
        reader读取excel文件数据
        参数说明
            headerRowIndex: 映射的数据标题在第几行, 从0开始算.
            startRowIndex: 实际读取的数据从第几行开始, 从0开始算.
            class: 读取的数据封装成什么类型的对象
     */
        List<User> users = reader.read(1, 2, User.class);
        // 输出返回的users集合
        System.out.println(users);
        // 输出users的大小.
        System.out.println(users.size());
    }


image.png

相关文章
|
存储 算法 固态存储
【计算机组成原理】存储系统
【计算机组成原理】存储系统
4704 0
【计算机组成原理】存储系统
|
存储 Java 应用服务中间件
MinIO对象存储详细安装教程
MinIO对象存储详细安装教程
1548 2
|
前端开发 JavaScript
vue3.0 bpmn-js + TS 简易教程
bpmn.js是一个BPMN2.0渲染工具包和web建模器, 使得画流程图的功能在前端来完成. 这里主要记录本人在开发bpmn中的流程
1523 0
|
SQL Java Linux
聊聊 kerberos 的 kinit 命令和 ccache 机制
聊聊 kerberos 的 kinit 命令和 ccache 机制
|
开发框架 人工智能 数据可视化
报表工具:常见的五款BI报表介绍
Power BI是微软官方推出的数据分析和可视化工具。
报表工具:常见的五款BI报表介绍
|
11月前
|
SQL Java 数据库连接
MyBatis-Plus:简化 CRUD 操作的艺术
MyBatis-Plus 是一个基于 MyBatis 的增强工具,它旨在简化 MyBatis 的使用,提高开发效率。
307 1
MyBatis-Plus:简化 CRUD 操作的艺术
|
10月前
|
数据库 数据安全/隐私保护 Python
使用wxpython开发跨平台桌面应用,设计系统的登录界面
【11月更文挑战第12天】本文介绍了使用wxPython开发的简单跨平台桌面应用登录界面的示例代码。主要包括导入wxPython模块,创建登录界面类`LoginFrame`,定义界面布局与事件处理,以及启动应用程序的步骤。示例中实现了用户名和密码输入框及登录按钮的基本功能。
206 1
|
存储 Linux Apache
释放磁盘空间:解决文件删除但空间未释放的困扰
在管理Linux系统的日常中,最令人头疼的时刻之一就是发现尽管已删除了巨大的文件,但是磁盘空间的占用率仍然没有任何下降。这种情况不仅让我怀疑自己的操作是否正确,同时也给操作系统的运行带来了隐患。 究竟问题出在哪,又该如何解决?本次记录,将演示释放磁盘空间:解决文件删除但空间未释放的困扰。
释放磁盘空间:解决文件删除但空间未释放的困扰
|
开发工具 git
idea的git reset current branch to here操作详解
idea的git reset current branch to here操作详解
1513 1

热门文章

最新文章