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

本文介绍了Java工具库Hutool的使用,包括Hutool的基本概念、如何添加依赖,以及如何使用Hutool进行验证码生成和Excel的读写操作。示例代码详细演示了如何创建线性验证码、导出和导入Excel数据,适合Java初学者和开发者参考。
摘要由CSDN通过智能技术生成

🍅程序员小王的博客:程序员小王的博客
🍅 欢迎点赞 👍 收藏 ⭐留言 📝
🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
🍅java自学的学习路线:java自学的学习路线

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

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小王java

学习java的路上,加油!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值