1. 概述
1.1 版本
設計器版本 | JAR 包 | 插件版本 |
---|---|---|
10.0 | 2019-06-11 | V8.1.4 |
9.0 | 2019-06-11 | V6.0.8 |
8.0 | 2019-06-11 | V6.0.8 |
注:插件不支持在集群環境下使用。
1.2 應用場景
有時候用戶需要将文件上傳到服務器保存,并且可以提供文件下載。以前 FineReport 實現此功能需要自定義函數實現,但代碼實現會比較麻煩。該插件将此功能封裝,安裝後可以通過可視化界面操作,方便快捷。
1.3 功能介紹
報表填報屬性界面,自定義提交中新增上傳類型選擇,可選擇上傳至服務器或上傳至FTP
超級鏈接新增一個選項文件下載
同時支持 CPT 和 FRM 報表
2. 插件介紹
2.1 插件安裝
插件下載請點擊:上傳下載文件插件
設計器插件安裝方法參照 設計器插件管理
服務器安裝插件方法參照 服務器插件管理
2.2 插件功能
2.2.1 上傳至服務器
報表填報屬性界面,自定義提交中新增了上傳類型選擇,可選擇上傳至服務器,此方式适用於單機工程,如下圖所示:
注1:參數面板中、CPT 單元格控件中的控件事件都同步加了上傳至服務器功能。
注2:同名文件覆蓋,默認不勾選,不勾選時,同名文件重命名,勾選後實現同名文件直接覆蓋。
2.2.2 上傳至 FTP
報表填報屬性界面,自定義提交中新增上傳類型選擇,可選擇上傳至 FTP。如下圖所示:
注1:參數面板中、CPT 單元格控件中的控件事件都同步加了上傳至服務器功能。
注2:同名文件覆蓋,默認不勾選,不勾選時,同名文件重命名,勾選後實現同名文件直接覆蓋。
2.2.3 文件下載
注:決策報表不支持「文件下載」功能。
超級鏈接新增一個選項文件下載,可以通過設置超級鏈接,實現從服務器端下載文件,如下圖所示:
2.3 設置項格式要求
2.3.1 普通報表
設置項 | 格式 | 示例 |
---|---|---|
磁盤路徑 | "D:/..." | "D:/photo" |
文件 | 控件名稱、單元格 | A1 |
文件名 | 控件名、單元格、自定義 | "test2" 注:可使用公式 |
2.3.2 決策報表
1)在2020-01-15發布的上傳下載插件(App 10.4.49&10.4.55),文件提交至服務器/FTP的使用格式爲:
設置項 | 格式 | 示例 |
---|---|---|
磁盤路徑 | "D:/..." | "D:/photo" |
文件 | 控件名稱、單元格 | "$multiFileUploader1" 注:「multiFileUploader1」爲控件名稱 |
文件名 | 控件名稱、單元格、自定義 | "test2" |
2)2020-02-28及之後發布的插件版本(App 10.4.61)遵循如下規則:
設置項 | 格式 | 示例 |
---|---|---|
磁盤路徑 | "D:/..." | "D:/photo" |
文件 | 控件名稱、單元格 | $multiFileUploader1 注:「multiFileUploader1」爲控件名稱 |
文件名 | 控件名稱、單元格、自定義 | "test2" |
2.4 注意事項
1)上傳路徑全紅爲正确,路徑用雙引号括起,舉例:"C:/Users/WCT/Desktop/"。
2)上傳頁面點擊上傳後需要點擊提交按鈕。
3)在填報屬性界面可定義文件上傳後的名稱。
4)文件上傳和下載爲不同單元格。
5)移動端只支持上傳,不支持下載。
6)請勿一次上傳多個文件,文件名會默認疊加修改,如下圖所示:
3. 普通報表
本章以普通報表爲例 ,演示使用該插件的步驟。
3.1 報表設計
1)在FineReport設計器中點擊文件>新建普通報表。
2)選中A1單元格,爲 A1 單元格添加文件控件,文件類型選擇全部文件。如下圖所示:
3.2 上傳至服務器
1)菜單欄點擊模板>報表填報屬性,添加自定義提交,提交類型選擇上傳至服務器,根據實際情況輸入磁盤路徑、文件、文件名。如下圖所示:
具體設置項說明如下表所示:
設置項 | 本次示例 | 說明 |
---|---|---|
磁盤路徑 | "C:/Users/Leo.Tsai/Desktop/Document/" | 填寫服務器磁盤路徑 |
文件 | A1 | 文件的填報單元格 |
文件名 | LEFT(FILENAME(A1), FIND(".", FILENAME(A1)) - 1) 注:該公式含義:表示 find 函數找到後進行定位,再使用 left 函數提取前面的位數,防止出現多後綴名 | 文件名 注:可直接輸入内容,或者使用單元格内容或者函數 |
3)保存報表,點擊填報預覽,并上傳文件,文件上傳成功,保存至設置好的路徑下且文件名爲 A1 單元格的文件名。如下圖所示:
注:請勿一次上傳多個文件,否則文件名會疊加,造成使用困擾。
3.3 上傳至 FTP
1)菜單欄點擊模板>報表填報屬性,添加自定義提交,提交類型選擇上傳至FTP,點擊FTP 設置,添加一個 FTP 連接。如下圖所示:
2)新建一個 FTP 連接,用戶需根據實際場景填寫連接信息。如下圖所示:
3)設置文件信息,如下圖所示:
各設置項說明如下表所示:
設置項 | 本次示例 | 說明 |
---|---|---|
上傳路徑 | "/FineReport Document" | FTP 上傳路徑 |
文件 | A1 | 文件填報的單元格 |
文件名 | LEFT(FILENAME(A1), FIND(".", FILENAME(A1)) - 1) | 文件名 |
FTP 站點 | Test | 本文 3.3 節第二步驟中的FTP 連接名稱 |
4)保存報表,點擊填報預覽,并上傳文件,文件上傳成功,FTP 站點下會保存該文件,且文件名爲 A1 單元格的文件名。如下圖所示:
注:請勿一次上傳多個文件!文件名會疊加,造成使用困擾。
3.4 下載功能
以 3.2 中已經設計好的上傳到服務器報表爲例( FTP 同理設置即可 )。
1)A2 單元格插入公式filename(A1),表示獲取 A1 單元格上傳的文件名,A2 單元格如下圖設置形态屬性,設置自定義類型的數據字典。
實際值=$$$
顯示值=LEFT(FILENAME(A1), FIND(".", FILENAME(A1)) - 1)
2)設計器菜單欄點擊模板>報表填報屬性,如下圖新增内置 SQL 提交,将 A2 單元格的文件名保存到數據庫中,爲後期數據的下載做準備(數據庫中有一張表,裏面 filename 字段用來存儲上傳的文件的文件名)。如下圖所示:
3)選中A2單元格,右邊屬性面板新增一個文件下載類型的超級鏈接,文件下載的具體設置如下圖所示:
文件服務:只有一個選項Default,同時支持從服務器和 FTP 下載,如果是 FTP,需要在右邊設置FTP設置連接一個 FTP。
文件路徑:要下載的文件的路徑,如:插入公式"C:/Users/Leo.Tsai/Desktop/Document/Test.xlsx"。
重命名:可以對下載到本地的文件進行重命名,這個是選填項,非必須。
編碼類型:匹配自己環境下 FTP 的編碼。
4)保存報表,點擊填報預覽,點擊下載超鏈,即可下載文件,如下圖所示:
注:該方法支持移動端。
4. 決策報表
本章以決策報表爲例 ,演示使用該插件的步驟。
4.1 報表設計
1)在FineReport設計器中點擊文件>新建決策報表。
2)在新建決策報表中拖入兩個文件控件和兩個按鈕控件。
3)選中multiFileUploader0控件,選擇文件類型爲jpg,png,gif,如下圖所示:
4.2 上傳至服務器
1)選中button0控件,在「事件」Tab 下添加點擊事件,如下圖所示:
2)選擇文件上傳,類型爲上傳至服務器,根據實際情況填寫磁盤路徑、文件、文件名。如下圖所示:
具體設置項說明如下表所示:
設置項 | 本次示例 | 說明 |
---|---|---|
磁盤路徑 | "D:/photo" | 文件上傳後,存放的磁盤位置 |
文件 | $multiFileUploader0 | 「multiFileUploader0」爲實現上傳文件的文件控件名稱 |
文件名 | "test1" | 文件上傳後,保存在磁盤中的名稱 |
4.3 上傳至 FTP
1)選中button1控件,在「事件」Tab 下添加點擊事件,如下圖所示:
2)選擇文件上傳,類型爲上傳至FTP,點擊FTP設置,新增FTP站點,根據實際情況配置 FTP 信息。如下圖所示:
3)根據實際情況填寫磁盤路徑、文件、文件名。如下圖所示:
具體設置項說明如下表所示:
設置項 | 本次示例 | 說明 |
---|---|---|
上傳路徑 | "/wenjian" | 文件上傳後,保存在 FTP 服務器中的位置 |
文件 | $multiFileUploader1 | 「multiFileUploader1」爲實現上傳文件的文件控件名稱 |
文件名 | "test2" | 文件上傳後,保存在FTP服務器中的名稱 |
FTP站點 | FTP站點1 | 本文 4.3 節第二步驟中的FTP 連接名稱 |
4.4 效果查看
4.4.1 PC 端
上傳文件:
上傳文件後效果:
4.4.2 移動端
以 App 效果爲例。
上傳文件:
上傳文件後效果:
4. 模板下載
1)普通報表
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\form\上傳下載文件.cpt
點擊下載模板:上傳下載文件 .cpt
2)決策報表
已完成模板可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\form\決策報表實現上傳文件.frm
點擊下載模板:決策報表實現上傳文件.frm