1. 概述
1.1 問題描述
FineReport 支持多種格式的報表導出方式,直接使用 FineReport 内置導出按鈕可以快捷地将報表導出爲其他格式。但有時我們只需要導出一種格式的文件,這時就可以通過自定義按鈕實現只導出一種文件格式。如下圖所示:
1.2 實現思路
通過在工具欄中添加自定義按鈕,按鈕事件中設置要導出的文件格式。
2. 示例
我們以自定義導出 txt 文件爲例。
2.1 準備模板
準備内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\GettingStarted.cpt
點擊可下載模板:GettingStarted.cpt
2.2 添加自定義按鈕
1)打開模板,點擊「模板>模板 Web 屬性>分頁預覽設置」,選擇「爲模板單獨設置」,添加一個自定義按鈕。如下圖所示:
2)點擊自定義按鈕圖标,進入自定義按鈕設置界面,修改其名稱爲「導出txt」,添加「控件圖标」,再爲其添加「自定義事件」,事件内容爲将報表導出爲 txt 文件。如下圖所示:
事件中需要添加 2 個參數 servletURL 和 reportName,參數值爲公式:servletURL 和 reportName。
JavaScript 代碼如下:
var mrname=encodeURI(encodeURI(reportName)); /* 中文目錄及文件名,通過帆軟自帶js轉碼*/
var mrurl=servletURL+'?viewlet='+mrname; /* 獲取路徑*/
/*window.open(mrurl+'&format=text');*/
window.location.href=mrurl+'&format=text';/*下載文件*/
JS 代碼中的 format=text 爲導出的文件格式,若需導出其他格式可修改對應位置,其他格式導出參數爲:
format=word //導出word格式的文件
format=excel //導出excel格式的文件
format=pdf //導出excel格式的文件
2.3 效果預覽
保存模板,點擊「分頁預覽」效果如下圖所示:
注:不支持移動端。
3. 模板下載
已完成的模板,可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\工具欄JS實例\02-JS實現工具欄按鈕只導出單一格式文件.cpt
點擊下載模板:02-JS實現工具欄按鈕只導出單一格式文件.cpt