Java Hutool工具实现验证码生成及Excel文件的导入和导出

 更新时间:2021年11月30日 16:33:59   作者:小王java  
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,本文主要介绍了使用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"));
    } 

 

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"));
    }

(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;
    }

(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());
    }

 

到此这篇关于Java Hutool工具实现验证码生成及Excel文件的导入和导出的文章就介绍到这了,更多相关Java Hutool工具内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java高性能本地缓存框架Caffeine的实现

    Java高性能本地缓存框架Caffeine的实现

    本文主要介绍了Java高性能本地缓存框架Caffeine的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • SpringBoot响应Json数据乱码通过配置的解决

    SpringBoot响应Json数据乱码通过配置的解决

    这篇文章主要介绍了SpringBoot响应Json数据乱码通过配置的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • java使用EasyExcel导出上万数据如何避免OOM

    java使用EasyExcel导出上万数据如何避免OOM

    本文主要介绍了使用EasyExcel导出大量数据时避免OOM问题的方法,通过分页查询和分批次写入Excel,可以有效避免内存溢出,并提供了一个封装好的工具类,简化了导出代码的编写
    2024-11-11
  • Spring boot如何集成kaptcha并生成验证码

    Spring boot如何集成kaptcha并生成验证码

    这篇文章主要介绍了Spring boot如何集成kaptcha并生成验证码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • springboot vue项目管理前后端实现编辑功能

    springboot vue项目管理前后端实现编辑功能

    这篇文章主要为大家介绍了springboot vue项目管理前后端实现编辑功能,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Mybatis查询语句结果集的总结大全

    Mybatis查询语句结果集的总结大全

    这篇文章主要给大家总结介绍了关于Mybatis查询语句结果集的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • 从零搭建Spring Boot脚手架整合OSS作为文件服务器的详细教程

    从零搭建Spring Boot脚手架整合OSS作为文件服务器的详细教程

    这篇文章主要介绍了从零搭建Spring Boot脚手架整合OSS作为文件服务器的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Java中常见延时队列的实现方案小结(建议收藏)

    Java中常见延时队列的实现方案小结(建议收藏)

    延时队列它要具有队列的特性,再给它附加一个延迟消费队列消息的功能,也就是说可以指定队列中的消息在哪个时间点被消费,这篇文章主要介绍了Java中常见延时队列的实现方案总结,需要的朋友可以参考下
    2024-04-04
  • SpringBoot + Redis如何解决重复提交问题(幂等)

    SpringBoot + Redis如何解决重复提交问题(幂等)

    在开发中,一个对外暴露的接口可能会面临瞬间的大量重复请求,本文就介绍了SpringBoot + Redis如何解决重复提交问题,具有一定的参考价值,感兴趣的可以了解一下
    2021-12-12
  • java动态绑定和静态绑定用法实例详解

    java动态绑定和静态绑定用法实例详解

    这篇文章主要介绍了java动态绑定和静态绑定用法,结合实例形式详细分析了java动态绑定与静态绑定相关概念、原理、实现方法及使用注意事项,需要的朋友可以参考下
    2019-05-05

最新评论