1 概述
在web项目中常见的一种场景就是将文件导出为Excel,但是当需要导出多个Excel时,使用者将频繁操作,这样就严重降低了项目的友好交互性以及易用性,那么怎么才能优雅的解决这个问题呢?笔者今天分享将Excel导出后并压缩成zip包响应到浏览器端,希望对大家有所帮助。
2 实现思路
使用AEAI DP创建样例工程export_demo,创建测试数据表employee,使用DP预置的样例功能快速创建单表操作模型,扩展添加导出按钮,扩展创建导出替换的模板EmployeeInfos.ftl,实现导出Excel的FileExportHelper-exportFile以及压缩的ZipHelper-doZip,dowmZip,deleteZip。
3 实现步骤
3.1 基础准备
1.创建样例工程export_demo,并初始化数据库(具体可参见AEAI DP开发平台技术手册,下载链接http://www.agileai.com/portal/website/01/res-share.ptml);
2.创建业务数据表,初始化sql;
3.创建单表操作模型快速生成代码,(参见 AEAIDP开发平台技术手册),在此不做过多赘述;
3.2 功能扩展
1.扩展“导出Excel”按钮;
在EmployeeManageList.jsp中添加按钮,并扩展js方法指向Handler
2.创建导出替换数据模板(模板是基于Freemaker语法进行变量替换);
3.3 数据拼接
1.构造导出数据拼接,调用FileExportHelper-exportFile实现导出Excel
1)在EmployeeManageListHandler中扩展方法exportExcelFile拼接导出Excle用到的数据
2)调用FileExportHelper-exportFile实现利用IO流将Excel导出至固定目录
2.调用ZipHelper-doZip将文件压缩为zip包,dowmZip将zip包响应到浏览器端,deleteZip将已生成的zip包删除节约服务器空间。
1)doZip将文件压缩为zip包
2)dowmZip将zip包响应到浏览器端
3)deleteZip将已生成的zip包删除节约服务器空间
3.4 演示效果
浏览器输入http://localhost:6060/export_demo/index?Homepage
输入用户名密码登录(账号admin,密码admin)
访问职工管理点击“导出Excel”
点击导出Excel将职工信息导出Zip包效果如下
打开压缩包可以查看导出的Excel
点击查看Excel
4 环境搭建
1.到数通畅联官网(http://www.agileai.com)资源分享中下载AEAI DP以及HotServer 下载对应的介质
2.使用Navicat创建数据库export,执行sql脚本export_mysql.sql
3.启动HotServer,将工程导入AEAI DP并部署于HotServer
4.浏览器访问http://localhost:6060/export_demo/index?Homepage登录后即可查看效果
5 附件及说明
附件为样例export_demo的源码,其中数据库脚本位于项目中sql文件夹下export_mysql.sql
文档及附件 下载
相关推荐
java 实现Excel压缩成Zip导出.docx
[源代码程序]java 实现Excel压缩成Zip导出.zip
用Java语言采用接口设计模式、代理设计模式、工厂设计模式实现对excel中的表实现基本的导出(写)功能,把一个对象集合输出到一个excel表中。 【基本功能】 将对象集合导出到Excel表 【扩展功能】 1、自由设置表头 2...
java实现Excel压缩成Zip导出-附件资源
直接可以用的项目。数据量大,导出多个excel然后压缩成zip文件。。。
java中将多个excel打包成zip文件下载.rar
主要为大家详细介绍了java动态导出excel压缩成zip下载的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
目前项目有一个需求“数据的离线导入导出”,需要将数据分模块导入到不同的excel,然后压缩成数据包下载
用开源 Apache POI 技术导出Excel,解决导出大数据出现OOM、栈溢出问题,此资源可实现百万级数据多线程分批导出Excel文件,不会内存溢出,生产环境已很稳定的使用者,所以用到的技术很核心、值得参考
30万的数据量,生成多个excel最后打包成zip下载,是工程,直接导入就行
生成excel并打包成zip文件,包含主要的生成类和如何打包的代码,主要是嵌套的关系
java导出excel大数据,由于excel本身sheet页存储条数的限制,方案一般有:1、导出多个excel,然后将多个excel压缩为zip包,导出;2、导出可以通过excel打开的文本文件;3、导出csv文件(简单格式的)。 本样例以导出...
请到网站http://www.apache.org/dyn/closer.cgi/poi/右击超链接2.5.1.zip下载压缩包poi-bin-2.5.1-final-20040804.zip,解压缩后得到如图2.1所示的目录结构。我们主要用到poi-2.5.1-final-20040804.jar这个库文件。...
SpringBoot(33) 整合JXLS实现Excel导入导出
Excel导入导出,zip包
一些常用的java工具类:Date和String类型互转,获取想要格式的String类型的日期时间、java导出数据到Excel、http文件下载、HMAC-MD5加密、3DES加密、MD5加密、读写txt文件、zip解压缩文件、文件夹等
里面包含多个常用的java工具类,date和string的互换,java数据导出到excel,zip文件的解压缩、文件下载、md5加密、3des加密等各种常用java工具类,支持jdk1.4以上版本。有需要的,可以联系我,本人热衷于工具类的...
前台页面到后台调用,一套完整的大数据excel 导出 压缩成zip文件
maven springboot 导入导出 使用 自定义注解和反射 获取值 的例子