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

作者:小王java 时间:2023-02-04 22:49:32 

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

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

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

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

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

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

(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文件的导入和导出

来源:https://blog.csdn.net/weixin_44385486/article/details/121618124

标签:Java,Hutool
0
投稿

猜你喜欢

  • java中的key接口解析

    2023-09-22 14:44:00
  • 解决logback-classic 使用testCompile的打包问题

    2021-07-01 08:16:50
  • Java基础之this关键字的使用

    2021-05-31 13:12:55
  • Java程序常见异常及处理汇总

    2021-08-12 04:20:44
  • Android自定义View实现等级滑动条的实例

    2023-12-08 19:57:53
  • Android如何优雅的处理重复点击

    2022-08-11 20:22:35
  • Java Web程序实现返回JSON字符串的方法总结

    2023-07-28 22:46:48
  • Android4.4新增函数访问外部存储

    2022-09-14 18:34:04
  • 详解Spring Boot中使用AOP统一处理Web请求日志

    2021-08-24 15:50:17
  • Mybatis中resultMap的Colum和property属性详解

    2023-09-16 11:17:33
  • Java Apache common-pool对象池介绍

    2022-08-24 22:53:06
  • 关于idea中Java Web项目的访问路径问题

    2023-01-04 21:23:32
  • JAVA过滤标签实现将html内容转换为文本的方法示例

    2022-10-16 21:02:40
  • 在C#使用字典存储事件示例及实现自定义事件访问器

    2022-08-14 14:34:52
  • Unity UGUI教程之实现滑页效果

    2022-06-30 10:38:30
  • SprinBoot整合Quart实现定时调度的示例代码

    2021-12-07 21:30:59
  • Android开发使用Message对象分发必备知识点详解

    2022-02-08 21:32:49
  • 利用POI生成EXCEL文件的方法实例

    2023-11-23 21:44:14
  • Java判断线程池线程是否执行完毕

    2023-10-18 12:09:29
  • 使用Java读取Word文件的简单例子分享

    2022-12-17 02:15:19
  • asp之家 软件编程 m.aspxhome.com