1. 概述
1.1 預期效果
實際業務場景中,有時需要在指定的報表中選擇下載報表,且需自定義導出的名稱,如下圖所示:
1.2 實現思路
參數面板中添加「下拉框控件」,獲取存儲報表路徑;添加「按鈕控件」并設置「點擊事件」,點擊按鈕進行導出。
2. 示例
2.1 添加模板參數
新建普通報表,點擊菜單欄「模板>模板參數」,添加兩個模板參數分别爲 TABLE,NAME。
2.2 添加控件
編輯參數界面,點擊「全部添加」将兩個參數添加進參數面板,如下圖所示:
2.3 控件設置
1)将「 TABLE:」标簽控件的控件值改爲「選擇表:」,設置 TABLE 的控件類型爲「下拉框控件」,設置控件的數據字典爲「自定義」,實際值爲「報表路徑」,顯示值爲「報表名稱」。如下圖所示:
注:報表路徑默認爲 reportlets 下路徑,若報表未直接保存在 reportlets 下,需補全路徑,且需将路徑中 \ 修改爲 / 。
2)将「 NAME:」标簽控件的控件值改爲「自定義名稱:」,設置 NAME 的控件類型爲「文本控件」,可自定義導出文件名稱。
3)删除「查詢」按鈕。
4)拖入一個「按鈕控件」,修改按鈕名字爲「導出excel」,并添加點擊事件,輸入 JavaScript 代碼如下:
var tab = this.options.form.getWidgetByName("TABLE").getValue();
var name = this.options.form.getWidgetByName("NAME").getValue();
var pars = '&format=excel&extype=sheet&__filename__='+name;
window.location = "${servletURL}?viewlet=" + (tab+pars);
步驟如下圖所示:
5)選中「導出excel」按鈕,複制兩個按鈕,修改名稱分别爲「導出word」、「導出pdf」,将 JavaScript 代碼中 &format=excel 中的 excel 分别修改爲 word 和 pdf 即可。
2.4 效果預覽
保存報表,點擊「分頁預覽」,效果同 1.1 節預期效果一緻。
注1:自定義名稱不支持爲空。
注2:不支持移動端。
3. 模板下載
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\ExportReport\根據參數選擇導出不同報表.cpt
點擊下載模板:根據參數選擇導出不同報表.cpt