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

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

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

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

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

1、数据库表准备

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

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

2、填报表设计

       新建填报表, 表格式如下

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

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

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

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

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

4、定义数据去向

       数据处理 -- 数据去向

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()
2return C1  

5、测试效果

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

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

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

更多填报相关问题请查看:填报相关问题分类导航
* 填报表能不能像 word 那样定时自动保存?
* 行式填报表轻松搞定流水号
* 巧用标志字段实现填报数据的暂存与锁定
* 数据填报修改时如何增加操作人员信息
* 业务填报数据及时入库
* 填报流水号,缺省表达式设置

12-16 19:29