Previous topicNext topic
Help > 开发指南 > Excel > Excel模板设计 >
指定模板范围

除了为绑定数据源的每条记录简单地复制的普通邮件合并模板外,还可以通过指定“详细信息”、“页眉”和“页脚”范围来创建高级模板。

详细信息

在模板中指定详细信息范围时,会仅仅将此范围(如果还指定了页眉和页脚范围)复制到绑定数据源的每条记录中,并将出现在生成的文档中。邮件合并字段(包含主从表的字段)通常放置在详细信息范围内。

您可以在详细信息范围内再添加嵌套级别的详细信息范围,以创建用于基于分层数据源中的数据生成主从报表的模板。有关详细信息,请参见如何创建主从报表主题

在每个详细信息范围内,您可以对数据进行排序、分组和筛选。

创建“详细信息”区域

我们可以选择工作表中要显示主、从表明细区域的位置,然后点击“详细信息”菜单,即可自动创建一个蓝色方框框出来的一个区域,并在区域右上角显示“Detail”标识。

如果我们看不到蓝色方框,可以打开“邮件合并设计视图”。

修改“详细信息”区域

如果我们想要修改“详细信息”区域的话,只需要在新的区域框选,然后再次点击“详细信息”菜单按钮即可完成“详细信息”区域的重新定义。

我们还可以直接将鼠标放到“详细信息”区域右下角,等鼠标变换成下面的形状时,可以拖动调整“详细信息”区域的范围。

我们设置的“详细信息”区域信息被当成名称保存了,我们可以通过“名称管理器”来查看名为“DETAILRANGE”的名称定义。

 

删除“详细信息”区域

选中“详细信息”区域相对应的单元格区域,然后点击“重置”菜单,即可将当前“详细信息”区域删除。

创建“DetailLevel”区域

“DetailLevel”区域就是子表的明细显示区域,这个区域必须是在“详细信息(Detail)”区域之内的。

1、在Detail区域内,用鼠标框选出子表要填充字段的区域来

2、点击“详细信息级别”菜单。

3、点击完“详细信息级别”菜单后,框选后的区域自动变成DetailLevel0。

4、“数据成员”菜单此时变为可用状态,我们再点击此菜单按钮。

5、选择明细表所对应的数据源,然后点击“是”按钮,完成设置。

删除“DetailLevel”区域

我们可以像删除“详细信息”区域那样,先用鼠标选择好“DetailLevel”区域相对应的单元格区域,然后点击“重置”菜单删除即可。

修改“DetailLevel”区域

先删除“DetailLevel”区域然后重新创建。或者可以选择直接在“名称管理器”中修改相应的区域。

在不同区域内设置字段

我们必须注意,字段列表中的字段必须在“详细信息Detail”区域内才可以正常显示。而我们Deail区域内,默认绑定的是我们的主表,之前设置数据源时,SQL视图中第一个。如果我们子表的字段拖动到已经设置并绑定了数据源的“DetailLevel”区域,如果数据源绑定的与我们拖动的是一致的,则以简单的字段名定位。如果我们的明细表中的字段放到设定的“DetailLevel”区域外的话,就会以相对较长的表别名和字段名组合来绝对定位。

页眉和页脚

除了详细信息范围外,还可以指定页眉和页脚范围。如果所有数据记录都合并到一个工作表中,则这些范围将放置在生成文档中所有详细范围实例的上方和下方(如果使用垂直文档方向)。在其他邮件合并模式中,页眉和页脚随每个详细信息范围副本一起提供。

如果未在模板中指定详细信息范围,则页眉和页脚范围不会生效。

“邮件合并功能区”页提供了一组用于标记模板的按钮(“详细信息”、“主-详细信息”、“重置”等)。创建的模板范围将在“邮件合并设计视图”中突出显示。在此视图中,您还可以通过拖动模板范围来直观地移动模板范围并调整其大小。

由于模板区域实际上是由相应的定义名称(“DETAILRANGE”、“HEADERRANGE”和“FOOTERRANGE”)指定的单元格区域,因此可以通过命名单元格区域以编程方式将模板划分为多个区域。例如,以下代码在模板中创建相同的详细信息和标题范围,如上图所示。
指定模板范围的已定义名称将添加到模板工作表的 Worksheet.DefinedNames 集合中。