润乾填报表如何实现文件(附件)的上下载

报表一般分为统计类和填报类两大类型。统计类只要从数据源取出数据后,以表格或图表形式进行展现就可以了,而填报类除了展现数据,还要允许在页面上对数据进行编辑,并提交入库。

对于填报表来说,除了能编辑展现的文字外,支持填报表上传下载文件也是经常需要的,比如将在工作流中嵌入填报表,代替表单的工作,此时除了录入文字,还有可能要上传一些附件,也就是上传下载文件。

那么,润乾的填报表能否支持上传下载的功能呢?

当然是木问题,本文将介绍润乾报表中这一功能的具体操作过程。

示例要求每位雇员提交一份 word 版履历表,数据库使用 oracle。

1、数据库表准备

CREATE TABLE "EMPLOYEE"
("EMPNO" VARCHAR2(20),
"EMPNAME" VARCHAR2(20),
"DEPT" VARCHAR2(20),
"SEX" VARCHAR2(10),
"RECORD" BLOB)

其中,附件文件采用大数据字段,在 oracle 中,对应字段 RECORD 采用 blob 类型。

2、填报表设计

       新建填报表, 表格式如下

s1png

       在数据处理–数据来源内定义脚本

A B C
1 =connect(“orcl”) >emp=A1.query(“SELECT empno,EMPNAME,DEPT,SEX,RECORD FROM EMPLOYEE”) >A1.close()

       定义单元格表达式

       B2:设置为“维度格”,表达式为 =emp.(EMPNO),字段名称为 emp.EMPNO

       D2:设置为“数值格”,字段名称为 EMPNAME

       B3:设置为“数值格”,字段名称为 DEPT

       D3:设置为“数值格”,字段名称为 SEX

s2png

3、设置上传下载单元格的编辑风格

       B4:设置为“数值格”,数据类型 Blob, 字段名称为 RECORD,编辑风格选择“上下载文件”

s3png

可以同时设置最大的文件大小,并指定用于保存文件名的单元格

4、定义数据去向

       数据处理 -- 数据去向

A B C D E
1 =connect@e(“orcl”) >A1.update@k(emp:emp_old,EMPLOYEE,empno,EMPNAME,DEPT,SEX,RECORD;empno) >A1.close() >if(C1==null,A1.commit(),A1.rollback()) >A1.close()
2 return C1

5、测试效果

s4png

点击下拉三角,选择上载,然后选择要上传的 word 文档并提交即可。

s5png

此时已是已上载状态,下拉可以重新上传、下载或删除附件了。

总结:不论哪种文件类型,润乾填报表都可以通过上下载文件这种编辑风格轻松实现上传下载,并可以设置允许的最大文件大小,从而避免字段大小越界等问题。另外,对于能否上传及下载还有可能需要进行权限控制,只允许有权限的用户操作。这个功能的实现可以参考:http://blog.sina.com.cn/s/blog_a8f2ab8d0102y847.html