小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
今天我们来聊聊关于导入导出的需求实现:
背景:
经过对于数据同步的经过之后,老板今天又说,我想让客户直接直观的可以将数据看到, 但是呢又不想一个个新建,你又🈶啥可以高效的方法呢,导入啊;
我提出的一个方案,就是将我们需要的数据,按照一个模板直接导入到系统平台中,达到可以显示出新建数据的需求;
导入和导出是我们常用于直观新建数据集合,导出多用于数据统计,比如当月的绩效,考勤等,钉钉就支持导出当月的打卡记录,这就是一个比较典型的导出, 导出的格式是EXCEL,其中也要确定,导出是2007-13版本的,后缀是xslx,xsl格式的,
对于导入导出的,功能,我们常见的是根据POI,Apache的开源组织的 对于EXCEL的导出,细节的话,可以看我上次的文章:xie.infoq.cn/article/8c0…(关于POI),这也是比较官方的类库,支持office套件的数据统计化的工具;
现在已经到2021年了,对于类库,已经层出不穷,所以,这次我给大家推荐一个关于直接上手的工具,名称叫hutool, 也成为“糊涂”,也即是大家可以糊涂的知道他使用就可以,因为他的底层已经封装好了很多好的类库,官网地址www.hutool.cn/(主页)
这个是我比较喜欢的一个工具,而且对于Java开发者来说,可以极大程度的上提升你的开发效率,底层封装的很高效编辑,其中主要有,我们对于JSONutil,(JSON的依赖),ID(自定义自增ID),时间戳,HTTP请求,过滤器,类型转化,以及数据校验等,当然也缺少不了,今天的小主题:
常见的组件,我们可以单出的导入pom文件中,加入依赖,如果想都用,也可以使用hutool-all;
下期介绍关于如何使用hutool的工具实现导出的具体功能
今天我们来讲讲熟知的HUTOOL如何展示导出的数据文件, 这里我们用Excel的导出方式,作为方案进行;
Excel导出:
用户想要将数据直观的统计,展示,不喜欢看一行行的数据对比, 想要总结一份表格,然后给老板做汇报,这里就体现出个人化Excel报告图标的展示了,其中特殊字段,展示格式等都需要去调整;
Hutool将Excel写出封装为ExcelWriter
,其中将之前POI的底层封装好,支持的版本更好,
其中我们先开始添加依赖:
1 | xml复制代码<dependency> |
根据这个依赖,我们直接可以使用EXCEL
1.添加依赖
这里我主要写的是关于导出文件,response流是处理,也就是直接发送到servlet客户端下载;
我们将数据放在文件中,文件发送在返回流中;
1 | csharp复制代码// 通过工具类创建writer,默认创建xls格式 |
2.注意IO关闭
导出的时候,将IO关闭
1 | csharp复制代码private void write(ExcelWriter writer, HttpServletResponse response) { |
对于数据如何写入文件:
3.数据写入
最主要要的方法是:
1 | ini复制代码ExcelWriter writer = ExcelUtil.getWriter(true); |
其中row就是将我们自己的数据写入Excel中去,
1 | ini复制代码List<Test> rows = CollUtil.newArrayList(); |
因为官网的例子已经很明确了,上述的代码是我在企业中实际开发中遇到的,希望你可帮助到你,
www.hutool.cn/docs/#/poi/…(excel数据生成)
本文转载自: 掘金