Java 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工具内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
原文出处:https://blog.csdn.net/weixin_44385486/article/details/121618
相关文章
- 这篇文章主要介绍了如何利用java语言实现经典《复杂迷宫》游戏,文中采用了swing技术进行了界面化处理,感兴趣的小伙伴可以动手试一试...2022-02-01
java 运行报错has been compiled by a more recent version of the Java Runtime
java 运行报错has been compiled by a more recent version of the Java Runtime (class file version 54.0)...2021-04-01- 这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
- 这篇文章主要介绍了教你怎么用Java获取国家法定节假日,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-23
- 这篇文章主要介绍了Java如何发起http请求的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-31
- 说起C#和Java这两门语言(语法,数据类型 等),个人以为,大概有90%以上的相似,甚至可以认为几乎一样。但是在工作中,我也发现了一些细微的差别...2020-06-25
- 这篇文章主要介绍了解决Java处理HTTP请求超时的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
- 这篇文章主要介绍了java 判断两个时间段是否重叠的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
- 这篇文章主要介绍了超简洁java实现双色球若干注随机号码生成(实例代码),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-02
- 这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
java 画pdf用itext调整表格宽度、自定义各个列宽的方法
这篇文章主要介绍了java 画pdf用itext调整表格宽度、自定义各个列宽的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-31- 这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
Java使用ScriptEngine动态执行代码(附Java几种动态执行代码比较)
这篇文章主要介绍了Java使用ScriptEngine动态执行代码,并且分享Java几种动态执行代码比较,需要的朋友可以参考下...2021-04-15- 这篇文章主要介绍了Java开发实现人机猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-03
- 这篇文章主要介绍了Java List集合返回值去掉中括号('[ ]')的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-29
Java中lombok的@Builder注解的解析与简单使用详解
这篇文章主要介绍了Java中lombok的@Builder注解的解析与简单使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-06- 下面小编就为大家带来一篇java中String类型变量的赋值问题介绍。小编觉得挺不错的。现在分享给大家,给大家一个参考。...2016-03-28
Java 8 Stream 的终极技巧——Collectors 功能与操作方法详解
这篇文章主要介绍了Java 8 Stream Collectors 功能与操作方法,结合实例形式详细分析了Java 8 Stream Collectors 功能、操作方法及相关注意事项,需要的朋友可以参考下...2020-05-20- 这篇文章主要介绍了Java线程池中的各个参数如何合理设置操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-06-19
- 在Java中,我们可以利用多线程来最大化地压榨CPU多核计算的能力,下面这篇文章主要给大家介绍了关于java中多线程与线程池基本使用的相关资料,需要的朋友可以参考下...2021-09-13