1、什么是数据项数据项指的是模板表样中需要填写内容的那些空白单元格。若干相关的数据项可以组成一个数据表。数据项的定义包括以下内容:l区域地址和名称:它表明所填写的位置和信息的含义。比如在《客户登记表》模板中,C3单元格就是一个数据项,它的名称是“客户名称”
2、l数据类型,它表明空白单元格中可以只能填写什么类型的信息,比如“客户名称”数据项,只能填写不超过100个字符的文字,而不能填写数字或日期。l是否必填,它规定按模板格式填写实际的表单时,此数据项可否空白不填。比如在《客户登记表》中,“客户名称”是必填项,而“收货地点”不是必填项。
3、l填写规范,指对所填数据的要求,通常有几种情况,一是默认值,如“登记日期”的默认值是当前日期;二是下拉列表选择或树型选择,如“大区”就不能随意填写,而是在相应的位置有一个事先定义好的下拉列表,列举了全部大区的名称,填表时只需要从中选择。三是自动编号,如“客户编号”可以自动产生。l主键,主键的目的是保证唯一性。比如在“客户登记表”模板中,我们把“客户编号”定义为主键,就意味着不管填了多少张《客户登记表》,“客户编号”都必须彼此不同。因为通过Excel服务器填写的表单上的内容最终都保存到数据库中,所以这里所说的“彼此不同”不是靠人为的小心谨慎来做到,而是由系统自动控制的;如果您填了两张编号相同的《客户登记表》,第二张表保存时系统自动会通知您发生了数据重复,保存无法通过。l其他内容,包括是否隐藏、填写下一张时是否清空,如何排序等。
4、数据项又称为“字段”,在下文中,这两个词是同样的含义。定义单一数据项
5、数据项又分“单一数据项”和“重复数据项”两种,在《客户登记表》模板上,我们先来定义单一数据项,至于两者的区别,到下一章再叙述。1)在《客户登记表》模板的设计状态下,按住Ctrl键,然后用鼠标左键依次选中空白单元格C2,E2,G2,C3:E3,…,C8:G8,如下图所示:
![excel服务器入门教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/82eff6d7592ae3ef86e35e8554b6326c56666433.jpg)
7、“选中单元格”处显示的是上一步选中的那些空白单元格/单元区域的地址。每一个选中单元格/单元区域都要定义成一个数据项。3)点击按钮【左侧单元名称】,意思是用空白单元格左侧的单元格中的内容为空白单元格命名。例如,用C3单元格左侧的单元格(B3)的内容为C3单元格命名,而B3的内容是“客户名称”,所以C3单元格对应的数据项命名为“客户名称”。
8、4)点击【下一步】窗口显示如下图所示。选择“组成新数据表”,命名为“客户表”,按【下一步】
![excel服务器入门教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/988e1c532f6323858fada825cce833e038725d33.jpg)
10、6)窗口显示如下图,不改变默认选择,直接按【完成】
![excel服务器入门教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/3c42a5ea3e86304819d89d60c33104ebf7a75233.jpg)
13、添加字段选择表后,点击智能添加字段按钮,会自动读取数据库中表中的所有字段,若不想添加全部,可以去掉字段前面的勾选,如下图:
![excel服务器入门教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/49c5d3e34b2c56eef1e4ccbaf775e5f4fdf54033.jpg)
15、添加单元格字段添加完成之后,点击智能添加单元格或者只能添加单元格组,就可以给数据列绑定单元格,如下图,点击智能添加单元格,在弹出的对话框中选择报表主体中的单元格,为数据列绑定单元格:
![excel服务器入门教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/ba97ffd06de89a6119be0b2745e8b004551bad33.jpg)
17、若用户在模板中插入了一行或一列,导致填报单元格整体偏移了一格,此时可以使用批量修改单元格,整体批量修改,如下图:
![excel服务器入门教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/b666b2530688912c1051965c1b4800fc76f79733.jpg)
19、自定义事件如下图,在报表填报属性页面,可增加自定义事件,自定义事件可通过FR提供的API接口来实现不同的类,接着将该类导入到设计器中,即可实现自定义事件,详细请参照自定义事件:
![excel服务器入门教程:[2]定义数据项](https://exp-picture.cdn.bcebos.com/8974c38a59de45074f9a72c45e413a8ca7088533.jpg)
20、注:添加了多个内置SQL后(不论几个sheet里面的内置SQL),提交时有一个执行不通过的话,后面的内置SQL就不会执行,前面的执行过的也会无效(FR填报支持事务回滚机制)。另:在数据commit时出现异常,或者回滚时出现异常时,如果最终是失败的,后台额外报错提示前者是“数据提交出错,无法回滚”,后者是“数据回滚失败”。前端都提示”失败”。