多语言展示
当前在线:1522今日阅读:142今日分享:25

excel服务器初级教程:[2]定义数据项

excel服务器初级教程定义数据项
工具/原料

勤哲excel服务器

方法/步骤
1

什么是数据项数据项指的是模板表样中需要填写内容的那些空白单元格。若干相关的数据项可以组成一个数据表。数据项的定义包括以下内容:l  区域地址和名称:它表明所填写的位置和信息的含义。比如在《客户登记表》模板中,C3单元格就是一个数据项,它的名称是“客户名称”l  数据类型,它表明空白单元格中可以只能填写什么类型的信息,比如“客户名称”数据项,只能填写不超过100个字符的文字,而不能填写数字或日期。l  是否必填,它规定按模板格式填写实际的表单时,此数据项可否空白不填。比如在《客户登记表》中,“客户名称”是必填项,而“收货地点”不是必填项。l  填写规范,指对所填数据的要求,通常有几种情况,一是默认值,如“登记日期”的默认值是当前日期;二是下拉列表选择或树型选择,如“大区”就不能随意填写,而是在相应的位置有一个事先定义好的下拉列表,列举了全部大区的名称,填表时只需要从中选择。三是自动编号,如“客户编号”可以自动产生。l  主键,主键的目的是保证唯一性。比如在“客户登记表”模板中,我们把“客户编号”定义为主键,就意味着不管填了多少张《客户登记表》,“客户编号”都必须彼此不同。因为通过Excel服务器填写的表单上的内容最终都保存到数据库中,所以这里所说的“彼此不同”不是靠人为的小心谨慎来做到,而是由系统自动控制的;如果您填了两张编号相同的《客户登记表》,第二张表保存时系统自动会通知您发生了数据重复,保存无法通过。l  其他内容,包括是否隐藏、填写下一张时是否清空,如何排序等。 数据项又称为“字段”,在下文中,这两个词是同样的含义。

2

定义单一数据项数据项又分“单一数据项”和“重复数据项”两种,在《客户登记表》模板上,我们先来定义单一数据项,至于两者的区别,到下一章再叙述。1)  在《客户登记表》模板的设计状态下,按住Ctrl键,然后用鼠标左键依次选中空白单元格C2,E2,G2,C3:E3,…,C8:G8,如下图所示:

3

2)  选择菜单“模板à定义数据项à单一数据项”(或者单击鼠标右键,从弹出菜单中选择“单一数据项”)。弹出如下窗口:

4

“选中单元格”处显示的是上一步选中的那些空白单元格/单元区域的地址。每一个选中单元格/单元区域都要定义成一个数据项。3)  点击按钮 【左侧单元名称】,意思是用空白单元格左侧的单元格中的内容为空白单元格命名。例如,用C3单元格左侧的单元格(B3)的内容为C3单元格命名,而B3的内容是“客户名称”,所以C3单元格对应的数据项命名为“客户名称”。4)  点击【下一步】窗口显示如下图所示。选择“组成新数据表”,命名为“客户表”,按【下一步】

5

5)  窗口中显示出数据项的列表,选择每个数据项的数据类型,在“客户编号”、“销售员”、“客户名称”和“登记日期”对应的“必填”处单击打勾,然后按【下一步】。

6

6)  窗口显示如下图,不改变默认选择,直接按【完成】

7

7)  窗口消失,回到客户登记表模板的设计状态。8)  保存模板。关闭模板。

典型的excel服务器对数据项的处理如上所示,但是在FineReport中,对数据项的处理感觉更加灵活一下,下面以FineReport填报中对数据的处理为例进行对比:
1

报表填报是指将数据填报至数据库中,那么填报到哪个数据库,哪个数据表中该怎么判断呢,因此需要在填报属性中选择填报入库的数据库表,如下图:

2

添加字段选择表后,点击智能添加字段按钮,会自动读取数据库中表中的所有字段,若不想添加全部,可以去掉字段前面的勾选,如下图:

3

除了使用智能添加字段来一次性添加多个字段之外,还可以直接点击添加字段按钮来单个的添加字段,如下图:

4

添加单元格字段添加完成之后,点击智能添加单元格或者只能添加单元格组,就可以给数据列绑定单元格,如下图,点击智能添加单元格,在弹出的对话框中选择报表主体中的单元格,为数据列绑定单元格:

5

我们不仅可以给数据列绑定单元格,还可以使用字符串常量、公式、参数等等不同类型的数据,如下图

6

若用户在模板中插入了一行或一列,导致填报单元格整体偏移了一格,此时可以使用批量修改单元格,整体批量修改,如下图:

7

设置提交条件使用内置SQL填报数据,可以对填报数据进行过滤,如果web端提交的数据满足条件,则可以入库,不满足,则不入库,点击设置提交条件即可添加过滤条件,如下图:

8

自定义事件如下图,在报表填报属性页面,可增加自定义事件,自定义事件可通过FR提供的API接口来实现不同的类,接着将该类导入到设计器中,即可实现自定义事件,详细请参照自定义事件:

9

注:添加了多个内置SQL后(不论几个sheet里面的内置SQL),提交时有一个执行不通过的话,后面的内置SQL就不会执行,前面的执行过的也会无效(FR填报支持事务回滚机制)。另:在数据commit时出现异常,或者回滚时出现异常时, 如果最终是失败的,后台额外报错提示 前者是 “数据提交出错,无法回滚”,后者是 “数据回滚失败”。 前端都提示”失败”。

推荐信息