原文来自:https://www.j1angrui.cn/article/2019081623

在工作中刚完成项目集成Hutool实现导出Excel功能,现在记录一下实现过程,方便以后作为例子参考。

Hutool简介

Hutool是一个Java工具包,也只是一个工具包,它帮助我们简化每一行代码,减少每一个方法,让Java语言也可以“甜甜的”。它最初是作者项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。
参考文档:https://www.hutool.cn/docs/#/

Hutool安装

Maven

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.6.1</version>
</dependency>

Gradle

compile 'cn.hutool:hutool-all:4.6.1'

Excel生成

实现功能前,我们需要先引入jar包,以下提供两种引入方式:
JAR包查询网址:https://mvnrepository.com/

Maven

<dependency><groupId>xerces</groupId><artifactId>xercesImpl</artifactId><version>2.11.0</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.17</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.17</version>
</dependency>

Gradle

implementation 'org.apache.poi:poi:3.17'
implementation 'org.apache.poi:poi-ooxml:3.17'
implementation 'xerces:xercesImpl:2.11.0'

poi-ooxml和poi的版本尽量保持在3.17以上,否则可能报错

ExcelWriter

这里对数据进行导出操作是根据我的业务实际情况来做的,背景为将数据查询出来封装成List集合再进行Excel导出

List ogClaimList = ogClaimMapper.getList(claimChkId);
List rows = CollUtil.newArrayList(ogClaimList);
//通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter("文件路径.xlsx");

writer.addHeaderAlias(“数据库字段”, “别名”);

//自定义标题别名
writer.addHeaderAlias("insureId", "ID");
writer.addHeaderAlias("chk_id", "投保审核订单ID");
writer.addHeaderAlias("number", "订单号");
writer.addHeaderAlias("name", "客户姓名");
writer.addHeaderAlias("idno", "客户身份证号码");
writer.addHeaderAlias("mobile", "合约手机号");
writer.addHeaderAlias("amount", "合约贷款金额");
writer.addHeaderAlias("duration", "合约期限");
writer.addHeaderAlias("time", "竣工时间");
writer.addHeaderAlias("area", "地区");
writer.addHeaderAlias("city", "城市");
writer.addHeaderAlias("hall", "营业厅");
writer.addHeaderAlias("suppliername", "供应商名称");
writer.addHeaderAlias("mobile", "翼支付手机号");
writer.addHeaderAlias("stage", "保险阶段");
writer.addHeaderAlias("status", "效验状态");
writer.addHeaderAlias("result", "效验结果");
writer.addHeaderAlias("chkperson", "审核人");
writer.addHeaderAlias("number", "交易号");
writer.addHeaderAlias("result", "投保结果");

[scode type=“yellow”]所有数据库字段均为虚拟字段[/scode]

//一次性写出内容,使用默认样式,强制输出标题
writer.write(rows, true);
//关闭writer释放内存
writer.close();

BigExcelWriter

对于大量数据输出,采用ExcelWriter容易引起内存溢出,因此有了BigExcelWriter,使用方法与ExcelWriter完全一致。只需要将创建writer语句修改成如下代码即可,其他语句不变:

//通过工具类创建writer
BigExcelWriter writer = ExcelUtil.getBigWriter("文件路径.xlsx");

Excel

最终效果图:

总结

总体来说Hutool这个工具包功能还是很强大的,包含了非常多的工具类,我这里对Excel导出的操作是比较简单的,在文档中还提供了自定义样式可供使用。

Java集成Hutool实现导出Excel功能相关推荐

  1. java使用jxls导出excel功能

    在java的开发里,导出excel功能会经常遇到的,而jxls框架提供了很大的方便. jxls官网:http://jxls.sourceforge.net/,官网的下载包里面也提供详细的文档说明. 下 ...

  2. 集成easyexcel自定义封装,全局通用导出excel功能

    1.说明:导出功能(支持全部字段导出和用户自定义字段导出) 1 使用方式:导出接口类上添加注解 @EasyExcelExport,返回值必须以分页形式接收,一般场景与列表接口同时使用即可 2 注意事项 ...

  3. java利用poi导出excel功能-附带图片导出

    java利用poi导出excel功能-附带图片导出 写在前面 最近刚离职,闲来无事,于是把上两家公司都有碰到过的需求但都没有去研究实现:即导出带图片的excel报表.于是就折腾了一下这个功能,研究出来 ...

  4. ruoyi框架默认的导出Excel功能代码简析

    ruoyi框架默认导出Excel功能 项目使用的是RuoYi Bootstrap多模块版本4.7.2,启动项目后会有默认的导出功能.包括使用ruoyi自带代码生成器,都会有导出功能的附带.接下就讲解一 ...

  5. 导出Excel功能-从服务端到浏览器的简单处理

    导出Excel功能 从服务端到浏览器的简单处理, 仅供参考 服务端定义一个导出功能的关键代码 Java 定义一个export的功能函数,以下为关键代码(接口中的一部分处理逻辑): @Override ...

  6. java中使用jxl导出excel表格的工具类(全网唯一亲测可用,在原来基础上扩展)

    java中后台导出excel的话,有两种方案,一是使用poi(不过由于是windows版本的,存在不兼容,但功能更多,更强大),而是使用jxl(纯java编写,不过兼容,简单一些),可以设置输出的ex ...

  7. 假导出Excel功能实现,按CSV格式快速导出功能代码参考(追求代码追求简洁复用)...

    我们辛苦录入的数据都希望能有重复利用的价值,一方面这些基础数据需要有数据库级的重复利用,程序级别的重复利用,另一方面还需要直接可以方便的导出倒入的功能比较好,虽然我们自己制作的统计分析功能很强大,但是 ...

  8. django excel 导出页面_Django Admin中增加导出Excel功能过程解析

    在使用Django Admin时, 对于列表我们有时需要提供数据导出功能, 如下图: 增加导出Excel功能 在Django Admin中每个模型的Admin类(继承至admin.ModelAdmin ...

  9. 服务器导出excel文档,服务器导出excel功能配置

    服务器导出excel功能配置 内容精选 换一换 该任务指导用户完成Linux云服务器的相关配置与其他驱动的安装,为最终生成的Linux裸金属服务器私有镜像做准备.配置Linux云服务器.具体操作请参考 ...

最新文章

  1. java 原子量_Java原子量 - Rickxue的个人空间 - OSCHINA - 中文开源技术交流社区
  2. 我国网络安全人才培养缺口巨大
  3. 大熊君学习html5系列之------History API(SPA单页应用的必备------重构完结版)
  4. 面试必备:ArrayList源码解析(JDK8)
  5. Matplotlib 可视化之多图层叠加
  6. 1020:打印ASCII码
  7. itms-services 格式
  8. 什么是Zero-Copy?
  9. leetcode 637. Average of Levels in Binary Tree | 637. 二叉树的层平均值(Java)
  10. 接oracle私活价格,也来记录一下第一次接私活的体验
  11. C语言爆炸干货,小白你还不来看看嘛!
  12. python做爬虫 怎么样效率最高_公认8个效率最高的爬虫框架
  13. 最好用的JQuery插件集合以及组合拳
  14. 推荐一款调试工具:深蓝串口调试工具 2021秋季版(2.16.1.),一直使用这个,最近更新好快。
  15. 一阶系统开环传递函数表达式_自动控制总结:第二章、控制系统的数学模型
  16. keil格式化代码方法
  17. Spring Boot整合websocket实现群聊,点对点聊天,图片发送,音频发送
  18. 数学基础差怎么补救,怎么学数学最快最有效的方法
  19. 银河麒麟、中标麒麟 root权限登录
  20. Resetting a lost Admin password

热门文章

  1. Azure中配置网络安全组入站规则让外部网络访问VM中的网站
  2. PDF导出图片-python
  3. 苹果应用审核指南最新
  4. asyncio 系列五、asyncio的事件循环
  5. 柠檬班python自动化百度云_柠檬班python
  6. 满分室间质评之GATK Somatic SNV+Indel+CNV+SV(下)性能优化
  7. 【周赛-简单】5495. 圆形赛道上经过次数最多的扇区
  8. SSL证书7大常见错误及解决办法!
  9. ios网易大白Crash自动防护
  10. 百度搜索引擎结果网址参数搜索历史记录(rsv_sug)