当前位置: 首页 > news >正文

excel hutool 增加标题_Hutool Java 工具类库导出 Excel,超级简单!

来源:toutiao.com/i6771298852050829835


在开发应用系统的时候,导出文件是必不可放的功能。

以前用过POI、easyexcel等工具的导入导出功能,但总感觉太麻烦了,代码特别多,感觉并不是很好用。

今天给大家介绍一款新工具,java工具类库Hutool。

Hutool简介

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让使用者更轻松。

Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;

Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。

首先在POM.xml中加入GAV

<dependency>
    <groupId>cn.hutoolgroupId>
    <artifactId>hutool-allartifactId>
    <version>5.0.7version>
dependency>
<dependency>
    <groupId>org.apache.poigroupId>
    <artifactId>poi-ooxmlartifactId>
    <version>4.1.1version>
dependency>
<dependency>
    <groupId>org.apache.poigroupId>
    <artifactId>poi-ooxml-schemasartifactId>
    <version>3.17version>
dependency>

然后在控制层使用就行

@RequestMapping("/export")
@ResponseBody
public void export(HttpServletResponse response){
 List list = new ArrayList<>();
 list.add(new User("zhangsan","1231",new Date()));
 list.add(new User("zhangsan1","1232",new Date()));
 list.add(new User("zhangsan2","1233",new Date()));
 list.add(new User("zhangsan3","1234",new Date()));
 list.add(new User("zhangsan4","1235",new Date()));
 list.add(new User("zhangsan5","1236", DateUtil.date(new Date())));// 通过工具类创建writer,默认创建xls格式
 ExcelWriter writer = ExcelUtil.getWriter();//自定义标题别名
 writer.addHeaderAlias("name", "姓名");
 writer.addHeaderAlias("age", "年龄");
 writer.addHeaderAlias("birthDay", "生日");// 合并单元格后的标题行,使用默认标题样式
 writer.merge(2, "申请人员信息");// 一次性写出内容,使用默认样式,强制输出标题
 writer.write(list, true);//out为OutputStream,需要写出到的目标流//response为HttpServletResponse对象
 response.setContentType("application/vnd.ms-excel;charset=utf-8");//test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
 String name = StringUtils.toUtf8String("申请学院");
 response.setHeader("Content-Disposition","attachment;filename="+name+".xls");
 ServletOutputStream out= null;try {
  out = response.getOutputStream();
  writer.flush(out, true);
 }catch (IOException e) {
  e.printStackTrace();
 }finally {// 关闭writer,释放内存
  writer.close();
 }//此处记得关闭输出Servlet流
 IoUtil.close(out);
}

效果

978359b5fee55926d33ac90e25ecf968.gif


推荐阅读

8bf3e17359e1057d98b65f811dd11571.png

c17546d523298714faa7e9fafee4a55f.png

fcdf8c91f72647dbf247c15d433676db.png

dece9fad5a003b442b061b02b630898d.png

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 关于工作
  • mysql db host类型_MySQL的基本使用相关知识
  • mysql到底可不可以用join_到底可不可以使用join?
  • 在 Windows Mobile 上使用 GDI+
  • python class namedtuple 效率_Python数据结构:一个被低估的Namedtuple(一)
  • 在Tech Ed上要看到的Sync Service for ADO.NET
  • python具有可嵌入性_python基础第一节
  • 壮壮出世了
  • mysql数据库中本体数据_基于关系型数据库的本体持久化
  • 使用Ghost32.exe进行点对点计算机克隆
  • python正则通配符_通配符、正则表达式、python去重
  • 深入研究Windows内部原理系列(视频)(微软制造)
  • root命令连接mysql_通过更改root密码实现连接MySQL及常用命令
  • 关于Component Business Model和DDD关系的探究结论
  • 查看mysql的ibdata1_mysql 里的 ibdata1 文件
  • [笔记] php常见简单功能及函数
  • 「面试题」如何实现一个圣杯布局?
  • Android开源项目规范总结
  • CSS3 变换
  • E-HPC支持多队列管理和自动伸缩
  • windows下mongoDB的环境配置
  • 给初学者:JavaScript 中数组操作注意点
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 聚簇索引和非聚簇索引
  • 每天10道Java面试题,跟我走,offer有!
  • 用Canvas画一棵二叉树
  • 阿里云重庆大学大数据训练营落地分享
  • ​马来语翻译中文去哪比较好?
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (42)STM32——LCD显示屏实验笔记
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (web自动化测试+python)1
  • (不用互三)AI绘画工具应该如何选择
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • (状压dp)uva 10817 Headmaster's Headache
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .NET C# 操作Neo4j图数据库
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET Core中的时区转换问题
  • .NET大文件上传知识整理
  • .NET委托:一个关于C#的睡前故事
  • .NET之C#编程:懒汉模式的终结,单例模式的正确打开方式
  • @Autowired和@Resource装配
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @Service注解让spring找到你的Service bean