热点:

    FineReport文件控件教程

      [   原创  ]   作者:
    收藏文章 暂无评论

    通过FineReport电子表格进行简要介绍。

    1、 描述

    2、 在填报报表时,通过文件控件上传文件,可利用公式提取文件名、类型及大小信息。

    3、 提取文件名:从指定路径中获取文件名称信息。

    4、 获取文件类型信息,判断文件的具体格式。

    5、 获取指定文件的大小信息。

    6、 单文件上传时三个公式返回字符串,多文件上传则返回数组。

    7、 获取文件名称的功能由filename实现。

    8、 所示,新建一个模板,在B2单元格插入文件控件,随后在C2单元格输入公式=filename(B2),即可获取所上传文件的名称。

    9、 若同时上传多个文件,filename将获取所有文件名,各名称间以逗号分隔,返回结果为数组类型。例如,上传A.xls和B.txt两个文件时,filename的返回值即为包含这两个文件名的数组。

    10、 filetype用于识别文件的类型。

    11、 file:用于文件控件或包含文件的单元格。若为单个文件,返回其类型字符串;若为多个文件,返回类型数组;若非文件类型,则返回错误信息。

    12、 单文件

    13、 在D2单元格输入=filetype(B2),设置文件控件为仅支持单文件上传,预览模板后点击控件上传一张jpg图片,实际效果所示。

    14、 文件控件获取的上传文件类型为jpg,因仅上传单个文件,返回结果为字符串形式。

    15、 多文件

    16、 取消勾选文件控件的单文件上传限制,填写并预览模板后,点击文件控件并选择三个文件,实际效果所示。

    17、 函数filename(B2)返回一个数组,数组中包含文件名相关信息;同样,filetype(B2)也返回数组类型的数据,其内容表示对应文件的类型。两个函数均以B2为输入参数,输出结果均为数组结构,便于后续对文件名和文件类型进行批量处理与分析。

    18、 filesize(file) 用于获取文件大小,返回值单位为 KB。

    19、 file:表示文件控件或包含文件的单元格。若为单个文件,返回对应的文件类型字符串;若为多个文件,返回文件类型组成的数组;若输入内容非文件类型,则返回错误提示信息。

    20、 单文件上传时filesize返回字符串,多文件上传则返回数组,类似于filetype的处理方式。

    21、 在E2单元格输入公式=filesize(B2),填写并预览模板,效果所示。

    22、 问题说明

    23、 如何将上传的文件保存至指定目录,并仅将文件名存入数据库?

    24、 思路实现

    25、 通过自定义函数将文件上传至指定路径,并在按钮的填报事件中提交数据至数据库,同时调用该函数完成操作。

    26、 创建自定义函数

    27、 Commit3.java源文件的代码内容如下所示:

    28、 定义用于提交作业的文件路径变量,存储文件所在位置信息。

    29、 }

    30、 valueState的0、1、2、3分别代表默认值、新增行、数值变更和删除行。

    31、 }

    32、 创建新文件夹,将附件列表中指定索引位置的附件内容读取为字节数组,并写入该文件夹中。确保文件路径存在并具有写入权限,操作完成后释放相关资源,避免内存泄漏。

    33、 }

    34、 }

    35、 }

    36、 }

    37、 }

    38、 }

    39、 检查文件是否存在,若存在则执行后续操作。

    40、 删除指定的文件。

    41、 }

    42、 在当前目录创建一个名为FileName的文件。

    43、 }

    44、 }

    45、 将源数据写入新创建的文件后,关闭输出流。

    46、 }

    47、 }

    48、 }

    49、 }

    50、 }

    51、 编写自定义函数

    52、 将编译生成的Commit3.class和Commit3\$1.class文件复制到FineReport安装目录中WEB-INF下的classes文件夹内。由于Commit3.java位于com.fr.data包中,需在classes目录下创建对应的路径结构,即将这两个class文件存放于classes/com/fr/data/目录中,以确保类路径正确,系统能够正常加载该类及其内部类,避免运行时出现类找不到的错误。

    53、 设定模板格式

    54、 表单样式配置

    55、 按图调整表格样式

    56、 A1单元格设置为文件上传控件,控件名称为attach;B1单元格放置一个名为上传的按钮,点击后触发文件上传操作;C1单元格为文本框,通过公式filename(A1)获取并显示所选文件的名称;D1单元格用于填写文件上传的目标路径,该单元格控件设为不可见,用户无法直接查看或编辑。

    57、 自定义函数调用与数据入库处理

    58、 为B1按钮添加点击事件,选择提交入库,并按图示进行配置。

    59、 完成设置后,点击提交事件按钮,进入自定义事件添加界面。点击+号,选择自定义事件类型,并从中选定comfrdatacommit3.class文件。随后,点击增加属性按钮,依次添加两个属性:第一个属性名称为attach,值设为公式A1;第二个属性名称为filePath,值对应单元格D1的内容。这两个属性的命名需与commit3.java中所定义的文件路径变量保持一致。配置完成后,整体效果所示。

    60、 由于attach在Commit3.java中被定义为Object类型,其属性值仅支持直接输入公式F(x)=A1,无法通过选择单元格方式赋值。而filePath在Commit3.java中定义为SubmitJobValue类型,因此其属性值必须通过选取具体单元格的方式进行设置,所示操作,不允许手动输入公式内容。两种字段因数据类型不同,在赋值时需遵循各自的规定方式,确保符合程序设计要求,避免类型不匹配导致的运行错误。

    soft.zol.com.cn true https://soft.zol.com.cn/1127/11278625.html report 3970 通过FineReport电子表格进行简要介绍。 1、 描述 2、 在填报报表时,通过文件控件上传文件,可利用公式提取文件名、类型及大小信息。 3、 提取文件名:从指定路径中获取文件名称信息。 4、 获取文件类型信息,判断文件的具体格式。 5、 获取指定文件的大小信息。 6、 单...
    不喜欢(0) 点个赞(0)
    随时随地资讯查报价 就上ZOL手机客户端,点击或扫描二维码下载
    立即下载

    JHCell电子表格控件 1.0.0.1

    更新时间:2011年12月27日

    用户评分:0 | 0人点评

    软件类型:试用软件

    软件语言:简体中文

    JHCell电子表格控件 1.0.0.1
    • 更新时间:2011年12月27日
    • 软件大小:3.5MB
    • 软件分类:编程工具
    • 语言种类:简体中文
    • 软件评级:0 人点评