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