分享SOA平台软件 传递敏捷集成机制
Java实现Excel压缩成Zip导出 PAGE1 / NUMPAGES11
java实现Excel压缩成Zip导出
概述
在web项目中常见的一种场景就是将文件导出为Excel,但是当需要导出多个Excel时,使用者将频繁操作,这样就严重降低了项目的友好交互性以及易用性,那么怎么才能优雅的解决这个问题呢?笔者今天分享将Excel导出后并压缩成zip包响应到浏览器端,希望对大家有所帮助。
实现思路
使用AEAI DP创建样例工程export_demo,创建测试数据表employee,使用DP预置的样例功能快速创建单表操作模型,扩展添加导出按钮,扩展创建导出替换的模板EmployeeInfos.ftl,实现导出Excel的FileExportHelper-exportFile以及压缩的ZipHelper-doZip,dowmZip,deleteZip。
实现步骤
基础准备
创建样例工程export_demo,并初始化数据库(具体可参见AEAI DP开发平台技术手册,下载链接 HYPERLINK "/portal/website/01/res-share.ptml" /portal/website/01/res-share.ptml);
创建业务数据表,初始化sql;
DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
`EM_ID` char(36) NOT NULL,
`EM_NAME` varchar(32) DEFAULT NULL,
`EM_SEX` varchar(32) DEFAULT NULL,
`EM_TEL` varchar(32) DEFAULT NULL,
`EM_DESC` varchar(256) DEFAULT NULL,
PRIMARY KEY (`EM_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
创建单表操作模型快速生成代码,(参见 AEAIDP开发平台技术手册),在此不做过多赘述;
功能扩展
扩展“导出Excel”按钮;
在EmployeeManageList.jsp中添加按钮,并扩展js方法指向Handler
导出Excelfunction exportExcelFile(){
doSubmit({actionType:'exportExcelFile'}) ;
hideSplash();
}
创建导出替换数据模板(模板是基于Freemaker语法进行变量替换);
姓名
性别
电话
备注
${log.emName}
${log.emSex}、