Java:用Java导出Excel表格,你只需要这样做

文章图片

文章图片

今天要和大家聊的是关于Excel表格的导出功能 , 如何用Java实现 , 这个功能还是比较方便的 , 比如对于后台管理系统来说 , 我们需要分析订单列表 , 分析客户列表 , 这个时候就可以直接把这些信息导出Excel就拿UC这个平台的大鱼号后台来说 , 也是有很多的导出Excel表格的功能 , 可以让用户去分析收益 , 分析访问量对这些数据进行一个更直观的研究 。 下面就具体的说明一下这个功能如何用Java来完成 。
首先你需要引入两个依赖 , 一个是hutool包一个是Apache POI包 , 对于这两个包来说是必不可少的在导出数据的时候 , 对于Apache POI他是Apache软件基金会的开放源码函式库 , POI提供API给Java程序对Microsoft Office格式档案读和写的功能 。 而对于hutool包官网是这样介绍的 , Hutool是一个小而全的Java工具类库 , 通过静态方法封装 , 降低相关API的学习成本 , 提高工作效率 , 使Java拥有函数式语言般的优雅 , 让Java语言也可以“甜甜的” 。 我真的不知道说明叫做甜甜的 。
这里需要注意格外需要注意的一个地方就是对于Apache POI包来说你最少使用大于等于3.17的版本 , 否则就会异常 , 这个坑我很不幸运的踩了一次 , 就是不知道也不懂 , 今天告诉大家这个bug以后要是有需要做导出Excel功能的小伙伴就要注意了 , 避免再次入坑 。 之前的版本太老了所以说是禁止使用了 , 大家以后直接最低使用3.17的版本就行 。
【Java:用Java导出Excel表格,你只需要这样做】在引入两个依赖之后 , 就要是用依赖里面的方法了 , 这里我写了一个工具类 , 方便使用 , 有的人卡能会说 , 就一个导出功能就要写一个工具类 , 很麻烦 , 但是这样也有其他的好处 , 比如你下一个项目当中也要使用导出功能呢 , 你觉得重新写一遍好还是把之前的工具类拿过来好一点 , 这个也就因人而异了 , 反正我喜欢写工具类 。 毕竟复制粘贴是我的核心战斗力 。 有些人呢让他去复制粘贴他都不知道去哪里复制 , 然后粘贴到哪里 。 没错就是这样的 。
依赖和工具类写完之后就要开始来处理要导出的数据了 , 这些数据我们一般是从数据库里面拿出来的 , 代码的注释是比较齐全的 , 需要注意的一个地方就是 , 红框里面的参数 , 这个就是你导出之后你表格的名字 , 还有就是后端的方法只能规定为GET的访问方式 , 至于为什么后面会解释 。
数据表格的名字有了 , 对于表头的内容 , 也是只需要你在代码里面定义好 , 然后SET值就去就行 , 看下面例子 。 红款里面的汉字就是你表头的内容 , 循环赋值就可以了 。 我这里导出的是全部的数据 , 要是根据条件导出也是可以的 。 只要前段把值传过来就可以了 。
到这里后端的工作就可以结束了 , 剩下的就是前段来调你的接口了 , 还有一个很重要的坑需要注意 , 在前段调用后台的接口的时候 , 一般都是ajax开发送请求 , 但是对于导出表格来说 , 这种方法是行不通的 , 首先ajax是前后端来传值的没有错 , 但是对于表格导出他是没有返回值的 。 也就是不需要前后端进行传值 , 这是第一点 , 然后对于导出表格他是需要在前段弹出一个下载页面的 , 让你去保存生成的表格 , 弹出下载页面 , 在前段来说就是重新打开一个窗口了 。 综上所述这里需要前段使用window.location.href=https://mparticle.uc.cn/api/url来调用后端的接口了 。 所以这也就是为什么后端的接口只能是GET的访问方式了 。 这个坑也是我好久才爬出来的 。
推荐阅读
- 程序员■Java程序员必知:HashMap进行put操作会不会引起死循
- 课工场郑州翔天信鸽|JavaScript最常用,java是主流,JetBrains公布编程语言排名
- 猿灯塔|POI Excel,Java架构-Apache
- 【Java】github上标星70.5k,贼火的Java突击手册,全面详细对标阿里P7
- 『excel』用了10年的vlookup终于可以功成身退,xlookup霸气上线,一个顶仨
- 「编程」后台编程语言互相争执,为何前端公认JavaScript?
- 腾讯@JAVA如何连接数据库
- Java■Java仍然排名第一,但Kotlin不容小视了
- 「javascript」为什么NodeJS是创业公司的首选?了解用于Web开发的NodeJS
- 人世繁华|进行面向对象程序设计深剖,可以一学,大牛带你深入Java核心技术
