基于表单的报告
您可以使用报告资源管理器根据一个表单或一组表单创建报告。表单是用于生成预定类型的其他文档的文档。该表单包括文档类型的固定内容和指定可变内容位置的标记。例如,税表包含空白以指示变量内容的位置。
报告资源管理器提供了一组组件,允许您从 Word、HTML 或 PDF 模板表示的表单生成报告。您可以使用 Word 创建 Word 报告的表单,并使用 HTML 或文本编辑器创建 HTML 和 PDF 文档的表单。您可以使用 Word 和 HTML 文档的标准功能来指定表单中生成的内容(称为空位)的位置。
创建基于表单的报告的工作流程
这是您用来创建基于表单的报告的工作流程。有关使用此工作流程的示例,请参阅 创建一个简单的基于表单的设置。
创建模板
创建一个用于报告资源管理器的模板。
在报告资源管理器中,创建报告资源管理器默认模板之一的副本或基于其中一个默认模板创建一个模板。请参阅复制模板。
要指定表单的固定内容和空位,请编辑模板。请参阅
创建基于表单的设置
要创建报告表单组件,请在报告资源管理器中选择 文件 > 新建表单。
使用报告表单组件对话框指定输出格式和报告表单模板。
指定报告模板会使用
Template Hole
和布局组件填充报告表单组件,这些组件代表模板中定义的空位和页面布局。使用报告资源管理器将
Paragraph
、Image
、Table
、控制流和其他类型的组件追加到Template Hole
组件。在生成报告时,这些组件生成的内容填补了报告表单模板指定的固定内容的空缺。保存报告设置。
生成报告
执行报告表单组件将其模板指定的固定内容复制到输出报告中。该过程使用报告表单组件空位组件的子组件动态生成的内容填充固定内容中的空位。
在报告资源管理器中选择报告表单组件。
要执行报告表,请选择文件 > 报告。
创建基于多表单的报告设置
您可以创建基于多表单的报告设置,例如,对标题页、目录 (TOC) 部分和章节部分使用单独的表单模板的报告设置。
创建一个主模板,其中包含一个或多个要用生成的内容填充的空位,包括基于其他表单的内容(称为子表单)。
为报告中包含的每个子表单创建一个模板。子表单可以包含需要用内容填充的空位,包括子表单。对子表单模板使用与主模板相同的文档类型。
创建报告设置的主要报告表单组件。
将主模板分配给主报告表单组件。分配模板会使用代表报告顶级空位的
Template Hole
组件填充主报告表单组件。使用生成空位内容的组件填充主表单的
Template Hole
组件。您可以使用Subform
组件根据子表单模板填充内容空位,例如基于标题页模板的标题页。
使用子表单填补空位
您可以使用基于模板(称为子表单)的内容填补基于表单的报告中存在的空位。例如,您可以通过用标题页子表单填充报告主表单中的空位来创建标题页。如果子表单包含空位,则可以用子表单填充空位,从而生成基于表单层次结构的报告。
您可以将 Subform
组件添加到 Template Hole
组件作为其子组件,或者将其添加到父 Template Hole
组件的后代组件中。例如,如果要有条件地或重复地将子表单包含到空位中,请将控制流组件(例如 If
、For
或 While
)追加到父 Template Hole
组件。然后将 Subform
组件追加到控制流组件。
添加一个
Subform
组件作为表示父表单中的空位的Template Hole
组件的子组件或后代。将定义子表单的模板分配给
Subform
组件。将子表单模板分配给
Subform
组件会将Subform
组件填充为代表子表单模板定义的空位的Template Hole
组件。将组件追加到子表单的空位组件,这些组件生成子表单模板定义的空位的内容。您还可以使用子表单,即
Subform
组件,来填补子表单中的空位。
在基于表单的报告设置中定义页面布局
要定义设置生成的报告的页面布局,请使用基于表单的报告设置中的页面布局组件。报告生成器提供两个页面布局组件:
用于 PDF 报告的
PDF Page Layout
组件用于 Word 报告的
DOCX Page Layout
组件
为您的报告使用适当的组件。如果您的报告只有一个页面布局,请使用单页布局组件来定义布局。如果您的报告包含多个具有不同布局的部分,请使用多个页面布局组件。
从模板生成的页面布局组件
您可以通过首先在与报告表单组件和设置中的 Subform
组件相关联的模板中定义页面布局,将页面布局组件添加到您的设置中。当您使用组件对话框将模板分配给设置中的报告表单或 Subform
组件时,报告生成器会为模板中定义的每个页面布局创建一个 Template Hole
组件(称为部分空位)。它将空位追加到关联的表单或子表单组件作为其第一个(或唯一)空位。每个部分空位包含一个页面布局组件,该组件指定模板中定义的该部分的相应布局。
您可以通过更改布局组件对话框中的值来覆盖模板中定义的布局。您还可以使用报告资源管理器将 Paragraph
和其他内容组件追加到部分空位组件,从而将内容添加到部分中。
如果模板为页面布局定义了页眉和页脚,则报告生成器会生成相应的页眉和页脚组件并将它们追加到页面布局组件。如果模板没有为页面布局定义页眉或页脚,则可以使用报告资源管理器将页眉和页脚组件追加到页面布局组件。您可以使用报告资源管理器追加内容组件(例如 Paragraph
组件)将内容添加到任何页眉和页脚。
以交互方式将页面布局添加到报告设置中
您不必在模板中定义页面布局。您可以使用报告资源管理器在报告设置中定义它们。在这种情况下,将具有适当设置的页面布局组件追加到设置中的空位组件中。如果您想在报告生成时动态创建页面布局,请使用此功能。例如,您可以调整页边距来适应在生成报告之前您不知道其大小的图像。
另请参阅
DOCX Page Layout
| PDF Page Layout
| Page Footer
| Page Header
| Subform
| Template Hole
| mlreportgen.dom.Document.createTemplate