12.2 管理模板
在管理台主界面的左侧树型中选中“模板”,右侧窗格中会显示所有已定义的模板名称。选中其中的一项,点击鼠标右键,列出弹出菜单,您可以:查看模板属性、删除模板已填的数据、删除数据同时也删除模板定义,以及模板定义的导入导出。

图 12‑7
12.2.1 设置模板属性
选中某模板后,选择右键菜单【属性】,打开“模板属性”对话框,如下图所示,也就是说,我们不但可以在模板的设计状态下修改模板属性,也可以在管理控制台上修改。

图 12‑8
13.2.1.1保存设置
模板属性窗口上的“填报设置”选项卡中,右侧有个“保存设置”区域,里面有很多选项,大部分选项的含义自明,但是有几个选项,需要特别解释一下。
保存时,同时将Excel文件副本存入服务器
在Excel服务器中,虽然填报表单在Excel环境中操作,但是系统只是把Excel作为一个录入的“界面”,通过定义数据项对Excel工作表上的单元格赋予了含义,保存表单的时候,仅仅是把Excel工作簿上的那些“字段”的内容收集了起来,存储到数据库中的数据表中,并没有保存表单的Excel文件,工作表上除了定义了数据项的那些单元格之外,其它单元格中的内容统统丢弃。
读者可能会问,既然在保存的时候,除了数据项所在的单元格之外,表单上其它单元格的内容统统丢弃,那我们从我的工作台中打开一份表单,为什么表样、格式等等都还在,就像是打开了当初填报的Excel工作簿一样啊?实际上,打开一份表单时所发生的事情是,系统先打开了模板的表样工作簿,它是个空白表单,然后从数据库的数据表中,把表单的数据读取出来,按照模板上数据项的位置定义,填充到空表单的相应位置上去,如果明细数据比表样上预留的行数多,还会自动插行。
只保存数据,而不保存文件,这样做的一个明显的好处是,如果我们在填过一些表单之后又修改了模板表样,比如改了格式,挪动了字段的位置等等,再打开过去填报的表单,它们会自动按新的表样展示。
如果我们在模板属性的填报设置中勾选了“保存时,同时保存一份Excel文件”,则当我们保存表单的时候,除了把工作表上数据项单元格的内容存到数据库的数据表中之外,还把这个表单工作簿文件本身同时存到了数据库。凡是设置了这个选项的模板,在从我的工作台中打开其表单时,会优先去打开当初保存的表单工作簿文件,只有表单工作簿文件不存在的时候,才会向上述方式那样,打开模板表样,再把数据填充到表样上。
设置这个选项,有好处也有坏处。
好处是:用户在非数据项区域输入的内容,以及在填报表单时设置的一些格式信息也可以同时被保存下来。
坏处则是:1)改了模板表样之后,打开之前保存的表单,还按照旧的表样显示。2)文件占的空间总是比数据要大很多,所以,如果很多模板都这样设置,数据库会增长得比较快。
一般情况下,我们不推荐勾选这个选项。
打开时,忽略服务器中的Excel文件副本
如果您保存时即想将表单工作簿文件本身存到数据库,但打开时又不想优先打开当初保存的表单工作簿文件,只想打开模板表样,再把数据填充到表样上(只想将表单工作簿文本文件存到数据库作为备份,不进行读取)。应该怎么设置呢?
这就用到了【保存时,同时将Excel文件副本存入服务器】下面相关联的【打开时,忽略服务器中的Excel文件副本】选项。如下图所示进行勾选设置时即可得到前面所要的结果。说明:此选项不可单独勾选,必须在已勾选【保存时,同时将excel文件副本存入服务器】时才可勾选。

图 12‑9
点X关闭工作簿时,弹出是否保存的提示
若用户的某个模板有表间公式或工作流,在填报或修改时想不保存关闭表单时不想执行表间公式和工作流。则需要在对应的模板属性中勾选【点X关闭工作簿时,弹出是否保存的提示】。
勾选后当填报、修改对应模板的表单时,点X关闭后会弹出如下提示:

图 12‑10
点击提示框中【否】或【取消】即可关闭表单且不执行表间公式和工作流。
点击【是】则弹出保存窗口。
如未勾选此选项,则直接弹出保存窗口。

图 12‑11
12.2.2 设置模板权限
选中某模板后,选择右键菜单【分配权限】,弹出“模板权限”窗口,可以设置模板权限。
12.2.3 删除数据
从弹出菜单中选择“删除数据”,可删除基于该模板填报的所有表单。
12.2.4 删除模板
从弹出菜单中选择“删除模板”,可删除基于该模板填报的所有表单,以及模板的定义,包括表样、数据表、表间公式、工作流。
12.2.5 模板定义的导入导出
为什么要做模板的导入导出
回忆一下,模板是什么?它是:表样+填表规定(包括数据表定义、表间公式和回写公式的定义,以及工作流的定义)
如果您单位在总部和其它下属单位均安装了Excel服务器,您在总部设计好模板,需要下属单位使用同样的模板,那么您可以从总部的服务器上把模板定义导出成几个文件,发给下属单位,由下属单位向自己的服务器中导入。
如果您想利用Excel服务器为其它单位设计信息系统,您可以在自己的计算机上设计,然后导出模板定义,再导入到您客户的服务器上。
如果您在设计模板时遇到了问题,您可以把有问题的模板定义导出,通过电子邮件等方式发给勤哲软件的工程师,他们能帮您分析和解决问题。
………
如何导出
- 在管理台中选中“模板”,选择右键菜单“导出模板”,如图:

图 12‑12
- 弹出“导出模板”窗口,从下拉列表中选择要导出的模板,选择导出结果存放路径,在导出选项中可以选择“同时导出数据”,“同时导出依赖模板”,如图:

图 12‑13
点击窗口下放的【详细>>】按钮,窗口展开,可以查看该模板依赖了哪些其它

图 12‑14
- 按【确定】,提示您模板导出完成,并在窗口的下方列出导出信息,如图:

图 12‑15
- 关闭窗口。
- 打开“我的电脑”,您会看到在指定的目录下出现了一个以刚才导出模板命名的文件夹,打开文件夹,可以看到导出的文件,它们就是所导出的模板及其依赖模板的定义、表样及数据,您可以发给需要的人。

图 12‑16
如何导入
- 在管理台中选中“模板”,选择右键菜单“导入模板”
- 弹出“导入模板”窗口,点击【浏览 … 】按钮选择要导入的模板文件(扩展名为 .esx )

图 12‑17
- 按【导入】按钮,开始导入。
![]() |
12.2.6 模板数据的初始化
当我们设计好了一个信息系统,正式投入使用之前,还有一项准备工作要做:把系统需要的各种基础数据和期初数据整理好,一次性录入系统。比如,一个制造企业,各种物料有2万多种,为了系统的业务流程正常进行,需要把这2万多种物料以及它们的期初库存事先输入系统。如果全部由人工一条一条地输入,工作量很大;但是因为业务本身不可能停顿,物料的当前库存会随时变化,所以需要在尽可能短的时间内完成这项工作。有没有高效率的解决办法呢?答案是肯定的。
我们在模板上创建的数据表实际上存储在一个名为 ESApp1 的 SQL Server 数据库中。例如,我们在订单模板上创建了两个数据表,“订单_主表”和“订单_明细”,则打开SQL Server 企业管理器,我们会看到,在ESApp1数据库中增加了两个表,如下图所示。我们填报的订单信息都会存储在这两个表中。

图 12‑18

图 12‑19
导入数据
由于订单模板上定义了两个数据表,要导入初始数据,就不能仅仅导入了订单_主表就万事大吉,订单_明细表的数据同样需要导入,因此我们需要把主表的数据和明细表的数据分别整理到两个Excel文件中。如下所示:

图 12‑20

图 12‑21
现在问题来了,这里共有23条订单_明细的数据,它们是一张订单上的?还是9张订单上的?如果是9张订单上的,哪几条是第一张订单的?哪几条是第二张订单的?
当我们实际填报一份订单的时候,是不用关心上述问题的,因为正填报的订单就是一份,无论多少条明细,都是这一份订单的明细,但当成批导入数据的时候,就不是这么简单了,我们必须能够区分这“大批”的订单明细数据是怎样划分成一张张订单的。
怎样区分呢?对每一条明细数据都标注其所在的订单号,如下图所示,我们增加了一列“订单号”

图 12‑22
相应地,在订单模板上,我们也向明细表中增加一个新的数据项“订单号”

图 12‑23
剩下的事情,就是把整理好的Excel文件中的订单主表数据和订单明细数据,导入到“订单_主表”和“订单_明细”表中。注意:要保证初始化的模板中定义了主键。
操作方法如下:
- 用管理员身份登录到管理控制台
- 在左侧选择模板,右侧选中订单模板,选择右键菜单 [ 初始化数据 ]

图 12‑24
- 弹出“初始化数据”窗口,选择主表:订单 _ 主表,确定表单填报人,然后选择导入文件,在“导入数据预览”中可以看到要导入的主表数据。点击【下一步】。

图 12‑25
- 如果该模板下设置了工作流,那么会弹出如下对话框,否则会跳过这一步。选择导入的数据如何流转,点击【下一步】。

图 12‑26
- 如果该模板仅有主表,那么直接点【完成】即开始导入,前面我们分析过了,订单模板下即有主表,也有明细表,所以我们按照提示,点击【下一步】继续选择明细表的导入文件。

图 12‑27
- 在如下窗口下,选择明细表,指定明细表中的字段和主键字段的关联关系,然后选择导入文件,在导入数据预览中可以看到要导入的明细数据。点击【下一步】。

图 12‑28
- 最后点击 [ 完成 ] ,开始导入,最后提示“初始化数据完成!”,点击【确定】。

图 12‑29
登录客户端,看一下订单数据是否初始化进来了。

图 12‑30