当前位置:
文档之家› 勤哲excel入门教程之定义数据项
勤哲excel入门教程之定义数据项
至此,填报属性的必要步骤设置完成。
设置提交条件
使用内置 SQL 填报数据, 可以对填报数据进行过滤, 如果 web 端提交的数据满足条件, 则可以入库,不满足,则不入库,点击设置提交条件即可添加过滤条件,如下图:
提交条件是指填报数据执行 sql 语句的时候,如果当前执行的 sql 语句中的关于提交条 件中的字段符合提交条件则正常执行,如果不符合条件则跳过不执行,即不入库,继续执行 下一条 sql 语句,比如说设置提交条件为:成本价不为空,如果在填报的时候,某条记录的 成本价为空,则该条记录不入库。 其应用示例请查看空白数据不入库(,可增加自定义事件,自定义事件可通过 FR 提供的 API 接口来实现不同的类,接着将该类导入到设计器中,即可实现自定义事件,详细请参照自定 义事件:
注:添加了多个内置 SQL 后(不论几个 sheet 里面的内置 SQL),提交时有一个执行 不通过的话,后面的内置 SQL 就不会执行,前面的执行过的也会无效(FR 填报支持事务回 滚机制)。
定义单一数据项
数据项又分“单一数据项”和“重复数据项”两种,在《客户登记表》模板上, 我们先来定义单一数据项,至于两者的区别,到下一章再叙述。 1) 在《客户登记表》模板的设计状态下,按住 Ctrl 键,然后用鼠标左键依次 选中空白单元格 C2,E2,G2,C3:E3,…,C8:G8,如下图所示:
2) 选择菜单“模板定义数据项单一数据项”(或者单击鼠标右键,从弹出 菜单中选择“单一数据项”)。弹出如下窗口:
“选中单元格”处显示的是上一步选中的那些空白单元格/单元区域的地址。每 一个选中单元格/单元区域都要定义成一个数据项。 3) 点击按钮 【左侧单元名称】,意思是用空白单元格左侧的单元格中的内容 为空白单元格命名。例如,用 C3 单元格左侧的单元格(B3)的内容为 C3 单 元格命名,而 B3 的内容是“客户名称”,所以 C3 单元格对应的数据项命名 为“客户名称”。 4) 点击【下一步】窗口显示如下图所示。选择“组成新数据表”,命名为“客 户表”,按【下一步】
注:智能添加单元格组是指为一个数据列绑定多个单元格,将多个单元格中的数据全部 填报至该字段中,详细设置使用过程请查看多个单元格绑定一个字段 我们不仅可以给数据列绑定单元格,还可以使用字符串常量、公式、参数等等不同类型 的数据,如下图
若用户在模板中插入了一行或一列,导致填报单元格整体偏移了一格,此时可以使用批 量修改单元格,整体批量修改,如下图:
5) 窗口中显示出数据项的列表,选择每个数据项的数据类型,在“客户编号”、 “销售员”、“客户名称”和“登记日期”对应的“必填”处单击打勾,然 后按【下一步】。
6) 窗口显示如下图,不改变默认选择,直接按【完成】
7) 窗口消失,回到客户登记表模板的设计状态。 8) 保存模板。
关闭模板。
典型的 excel 服务器对数据项的处理如上所示,但是在 FineReport 中,对数据项的处理感觉更加灵活一下,下面 以 FineReport 填报中对数据的处理为例进行对比:
另:在数据 commit 时出现异常,或者回滚时出现异常时, 如果最终是失败的,后台 额外报错提示 前者是 “数据提交出错,无法回滚”,后者是 “数据回滚失败”。 前端都 提示”失败”。
勤哲 excel 入门教程之定义数据项
什么是数据项
数据项指的是模板表样中需要填写内容的那些空白单元格。 若干相关的数据项可 以组成一个数据表。 数据项的定义包括以下内容: 区域地址和名称:它表明所填写的位置和信息的含义。比如在《客户登记表》 模板中,C3 单元格就是一个数据项,它的名称是“客户名称” 数据类型,它表明空白单元格中可以只能填写什么类型的信息,比如“客户 名称” 数据项, 只能填写不超过 100 个字符的文字, 而不能填写数字或日期。 是否必填,它规定按模板格式填写实际的表单时,此数据项可否空白不填。 比如在《客户登记表》中,“客户名称”是必填项,而“收货地点”不是必 填项。 填写规范,指对所填数据的要求,通常有几种情况,一是默认值,如“登记 日期”的默认值是当前日期;二是下拉列表选择或树型选择,如“大区”就 不能随意填写,而是在相应的位置有一个事先定义好的下拉列表,列举了全 部大区的名称,填表时只需要从中选择。三是自动编号,如“客户编号”可 以自动产生。 主键,主键的目的是保证唯一性。比如在“客户登记表”模板中,我们把“客 户编号”定义为主键,就意味着不管填了多少张《客户登记表》,“客户编 号”都必须彼此不同。因为通过 Excel 服务器填写的表单上的内容最终都保 存到数据库中, 所以这里所说的 “彼此不同” 不是靠人为的小心谨慎来做到, 而是由系统自动控制的;如果您填了两张编号相同的《客户登记表》,第二 张表保存时系统自动会通知您发生了数据重复,保存无法通过。 其他内容,包括是否隐藏、填写下一张时是否清空,如何排序等。 数据项又称为“字段”,在下文中,这两个词是同样的含义。
报表填报是指将数据填报至数据库中,那么填报到哪个数据库,哪个数据表中该怎么判 断呢,因此需要在填报属性中选择填报入库的数据库表,如下图:
对于 Oracle 数据库来说,需要选择模式(oracle 中的用户名),在选择表时可以通过 首字母快速定位。 注:数据库名称和表名称,可下拉框选择,可手动输入名称,也可以输入参数名称实现 动态填报, 即动态修改填报的数据库或者是数据表, 详细示例请查看动态改变填报数据库表 (日报表、月报表填报):
添加字段
选择表后,点击智能添加字段按钮,会自动读取数据库中表中的所有字段,若不想添加 全部,可以去掉字段前面的勾选,如下图:
除了使用智能添加字段来一次性添加多个字段之外,还可以直接点击添加字段按钮来单 个的添加字段,如下图:
选中某个字段,点击移除字段即可将其从列表中删除。
添加单元格
字段添加完成之后,点击智能添加单元格或者只能添加单元格组,就可以给数据列绑定 单元格,如下图,点击智能添加单元格,在弹出的对话框中选择报表主体中的单元格,为数 据列绑定单元格: