分享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
導出Excel
function exportExcelFile(){
doSubmit({actionType:'exportExcelFile'}) ;
hideSplash();
}
建立導出替換資料模闆(模闆是基于Freemaker文法進行變量替換);
姓名
性别
電話
備注
${log.emName}
${log.emSex}、