示例
在电子表格中,可以插入数据。并且通过点击“点击上传文件”上传文件,也可以点击“点击下载文件”下载上传的文件。
实现报表前请先看如下注意事项:
1.支持的字段类型
- 数据库类型
- MySQL(数据源的连接字符串要加上"useServerPrepStmts=true")
- Mysql中的4种BLOB类型
- TinyBlob最大为255byte
- Blob最大为65K
- MediumBlob最大为16M
- LongBlob最大为4G
- Mysql中的4种BLOB类型
- ORACLE
- 其他数据库类型根据数据库实际情况主持。
- MySQL(数据源的连接字符串要加上"useServerPrepStmts=true")
- 字段类型:BLOB
2.文件限制
- 文件大小:不考虑
- 文件格式:二进制文件
- 文件名称:不能选择BLOB字段,否则下载时会无法访问
- 文件名称:如果不包含后缀名,下载下来后是未知文件类型
3.环境限制
- 不支持移动端的上传下载
- IE11以下不能够直接预览,预览会报错
4.若数据库为Mysql,则上传文件有可能有错误,需要在数据源连接字符串中增加&useServerPrepStmts=true
实现步骤
1.数据库表准备
注意:文件上传下载功能只支持直接拖数据源下的表的字段
(1)在数据库中建立表,包含三个字段:id(int,自增)、filename(varchar(255))、file(BLOB)。其中file字段为BLOB类型,用于储存上传的文件,filename字段为字符串类型,用于储存上传的文件名,填写此项的时候一定要带上文件格式,不然下载下来的文件是没有格式的。(注:file 是某些数据库的关键字,建议不要使用file作为字段名,可使用c_file!比如oracle数据库,可参考文档https://www.cnblogs.com/yingsong/p/4485651.html)
(2)在数据源下添加该表,并且注意设置file字段的数据类型为BINARY
2.创建电子表格。在Excel中登录服务,新建电子表格,并绘制静态表样如下:
3.实现上传文件
(1)在右侧资源面板中找到对应的数据源,找到步骤1中添加的表,将“编号(id)”和“文件名称(filename)”字段拖拽到B3和C3单元格。如下:
(2)设置填报属性。设置B3单元格的填报属性如下:
C3的填报属性如下:
D3的填报属性如下:
(3)设置回写规则,回写规则设置如下,主键为编号字段
通过以上设置,即可实现上传文件。如下:
注意:在填报数据时,“文件名”列中的文件名需要用户手工填写。
4.设置下载文件
注意:文件下载功能只支持直接拖数据源下的表的字段
(1)在右侧资源数中数据源下找到步骤1中的表,将回写规则中的主键字段也即是编号(id)字段拖拽到E3单元格中
(2)选中“E3”单元格,点击工具栏上的格式-》文件
(3)在弹出的文件窗口中,设置如下:
其中,显示内容为“点击下载文件”,是指在浏览电子表格时单元格的内容
文件名称,是指点击下载文件时文件的名称。如下:
文件字段,是指绑定的数据库中储存文件的字段。
5.发布预览。点击工具栏上的“发布预览”按钮,保存电子表格,预览如下: