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

相关文章
|
Java easyexcel
Java:SpringBoot使用EasyExcel实现Excel文件的导出下载和上传导入功能
Java:SpringBoot使用EasyExcel实现Excel文件的导出下载和上传导入功能
508 0
Java:SpringBoot使用EasyExcel实现Excel文件的导出下载和上传导入功能
SpringBoot导入和导出Csv文件(二十八)中
SpringBoot导入和导出Csv文件(二十八)中
2727 0
SpringBoot导入和导出Csv文件(二十八)中
|
1月前
|
存储 Java easyexcel
导出导入开发场景
导出导入开发场景
|
9月前
fastadmin实现导出Excel和导入Excel数据
fastadmin实现导出Excel和导入Excel数据
224 0
|
5月前
|
Java
Java 读取 Excel 模板,将数据填入Excel表格,后转换为PDF文件(实用)
Java 读取 Excel 模板,将数据填入Excel表格,后转换为PDF文件(实用)
106 0
|
6月前
使用EasyPoi导入Excel直接读流(不保存到本地文件)
使用EasyPoi导入Excel直接读流(不保存到本地文件)
49 0
|
6月前
|
JSON JavaScript 大数据
轻松搞定 excel 的 导入 和 导出
轻松搞定 excel 的 导入 和 导出
78 0
|
10月前
|
安全 前端开发
fastadmin自定义excel文件导入,实现文件上传功能 --已实现
fastadmin自定义excel文件导入,实现文件上传功能 --已实现
589 0
|
JSON 前端开发 数据格式
给我实现一个前端的 Excel 导入和导出功能(二)
给我实现一个前端的 Excel 导入和导出功能
217 0
|
JSON 前端开发 BI
给我实现一个前端的 Excel 导入和导出功能(一)
给我实现一个前端的 Excel 导入和导出功能
222 0