主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

slreportgen.report.RptFile 类

命名空间: slreportgen.report
超类: slreportgen.report.Reporter

创建基于报告资源管理器的报告器

描述

使用 RptFile 报告器将报告资源管理器设置 (.rpt) 文件生成的内容包含在报告 API 报告中。当添加到报告中时,RptFile 报告器:

  1. 执行指定的报告 Explorer 安装文件以生成报告 Explorer 报告的 DocBook XML 版本

  2. 使用修改版本的报告 Explorer Docbook-to-DOM 转换模板将 XML 转换为一组 DOM 对象(请参阅 管理报告转换模板

  3. 将 DOM 内容添加到报告 API 报告中。

提示

在报告设置文件中使用“模块循环”而不是“图循环”组件来报告 Stateflow® 图。请参阅报告 Stateflow 对话快照

slreportgen.report.RptFile 类是 handle 类。

创建对象

描述

reporter = RptFile 创建一个空的基于报告资源管理器的 RptFile 报告器。在将报告器添加到报告之前,报告程序必须将报告器的 SetupFile 属性设置为报告资源管理器安装(.rpt)文件的路径。否则,就会发生错误。

默认情况下,RptFile 报告器使用的转换模板是报告资源管理器针对报告输出类型的默认转换模板的稍微修改版本。例如,如果报告输出类型为 PDF,则报告器将使用报告资源管理器的 PDF (来自模板) 输出类型的默认模板的轻微修改版本。

您可以使用自定义转换模板来自定义报告器输出。使用报告器的 createTemplate 方法创建报告器的默认输出类型特定转换模板之一的副本以进行自定义。要使用自定义模板,请将 RptFile 报告器的 TemplateSrc 属性设置为自定义模板的路径。

示例

reporter = RptFile(SetupFile) 根据指定的报告资源管理器安装文件(.rpt 文件)创建一个 RptFile 报告器。请参阅 SetupFile 属性。

示例

reporter = RptFile(Name=Value) 使用名称-值参量设置属性。您可以按任意顺序指定多个名称-值参量。

属性

全部展开

报告资源管理器安装文件路径,指定为字符数组或字符串。请勿将基于表单的报告用作与 RptFile 报告器一起使用的设置文件。添加了设置文件的报告 API 报告将覆盖设置文件的输出类型。

属性:

GetAccess
公共
SetAccess
公共

数据类型: string | character array

模型名称,指定为字符数组或字符串,执行指定的 SetupFile 的模型。如果设置文件包含模型循环,则 RptFile 报告器会将其值设置为此属性的值。如果安装文件不包含模型循环或包含多个模型循环,则会发生错误。

属性:

GetAccess
公共
SetAccess
公共

数据类型: character array | string

系统路径,指定为字符数组、字符串或 slreportgen.finder.DiagramResult 对象。如果设置文件包含系统循环,则 RptFile 报告器会将系统循环的值设置为此属性的值(如果它是字符或字符串)。如果该值是一个 DiagramResult 对象,则报告器将系统循环设置为结果的 Path 属性的值。如果设置文件不包含系统循环或包含多个系统循环,则会发生错误。

属性:

GetAccess
公共
SetAccess
公共

数据类型: character array | string | object

模块路径,指定为字符数组或字符串、slreportgen.finder.DiagramElementResult 对象或模块的 slreportgen.finder.BlockResult 对象。如果设置文件包含模块循环,则 RptFile 报告器会将模块循环的值设置为此属性的值(如果它是字符或字符串)。如果该值是一个 slreportgen.finder.BlockResult 对象,则报告器使用该对象的 BlockPath 属性的值。如果值是 DiagramElementResult 对象,报告器将使用该对象的 DiagramPathName 属性的值来确定完整路径。如果安装文件不包含模块循环或包含多个模块循环,则会发生错误。

注意

使用安装文件中的模块循环组件来报告 Stateflow 图。请参阅报告 Stateflow 对话快照

属性:

GetAccess
公共
SetAccess
公共

数据类型: character array | string | object

此报告器将使用的转换模板源,将设置文件的 XML 输出转换为 DOM 对象。空值指定使用默认模板作为要生成的报告的输出类型。字符向量或字符串标量值指定要生成的输出类型的默认模板的自定义版本的路径。

属性:

GetAccess
公共
SetAccess
公共
NonCopyable
true

数据类型: char | string

此报告器的模板名称,指定为字符向量或字符串。默认情况下,此属性指定 RptFile,即报告器的默认模板名称。此默认模板与用于将报告资源管理器 XML 组件转换为 DOM 对象的其他模板一起驻留在其默认转换模板的模板库中。默认的报告器模板包含一个名为 Content 的单个洞,将用设置生成的 XML 内容转换后的 DOM 内容来填充。如果更改此模板的名称,则必须将此属性设置为新名称。您可以修改模板本身,但是修改后的模板必须包含一个名为 Content 的洞。

属性:

GetAccess
公共
SetAccess
公共

数据类型: char | string

此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标紧接在输出报告中此报告器的内容之前。

属性:

GetAccess

公共

SetAccess

公共

方法

全部展开

示例

全部折叠

创建一个 RptFile 报告器而不指定设置文件。然后,使用 SetupFile 属性指定报告资源管理器安装文件。

reporter = slreportgen.report.RptFile();
reporter.SetupFile = "my_setup_file.rpt"

此示例显示如何在 sldemo_fuelsys Simulink®模型中报告文档模块。

设置文件 docblock_setup_file.rpt 包含一个模型循环、一个系统循环、一个模块循环、一个段落和一个文档组件。创建安装文件时,可以从“报告资源管理器”的中间窗格中选择以下组件:

  • 模型循环、系统循环和模块循环组件位于 Simulink 部分。

  • 段落组件位于格式化部分。

  • 文档组件位于 Simulink 模块 部分。

Setup file containing a hierarchy of a Model Loop, System Loop, Block Loop, Paragraph, and Documentation components.

创建 Simulink 报告。

rpt = slreportgen.report.Report("MyReport","pdf");

加载模型。

model_name = "sldemo_fuelsys";
load_system(model_name)

创建一个章节。

chap = mlreportgen.report.Chapter("Report on a DocBlock");

使用报告设置文件来报告模型中 ToController 系统中的 Sensor Info 模块的属性。

rptFile = slreportgen.report.RptFile("docblock_setup_file.rpt");
rptFile.Model = model_name;
rptFile.System = "sldemo_fuelsys/To Controller";
rptFile.Block = "sldemo_fuelsys/To Controller/Sensor Info";
add(chap,rptFile);

将章节添加到报告中。

add(rpt,chap);

关闭并查看报告。

close(rpt);
rptview(rpt);

Report showing Chapter 1 "Report on a DocBlock", followed by information about properties of the Sensor Info Documentation block.

此示例演示了如何使用报告资源管理器设置文件中的模块循环组件报告 Stateflow 对话框快照。

设置文件 sf_setup_file.rpt 包含一个模型循环、一个系统循环、一个模块循环和一个 Stateflow 对话框快照组件。创建安装文件时,可以从“报告资源管理器”的中间窗格中选择以下组件:

  • 模型循环、系统循环和模块循环组件位于 Simulink 部分。

  • Stateflow 对话框快照组件位于 Stateflow 部分。

Setup file containing a hierarchy consisting of a Model Loop, System Loop, Block Loop, and Stateflow Dialog Snapshot component.

创建 Simulink 报告。

rpt = slreportgen.report.Report("MyReport","pdf");
open(rpt);

加载模型。

model_name = "sf_car";
load_system(model_name);

创建一个章节。

chap = mlreportgen.report.Chapter();
chap.Title = strcat(model_name,": Stateflow Dialog Snapshots");

在模型中查找系统。

sys_finder = slreportgen.finder.SystemDiagramFinder(model_name);
systems = find(sys_finder);

在当前系统中查找模块。使用报告设置文件来报告 Stateflow 对话框快照。

for system = systems
    blk_finder = slreportgen.finder.BlockFinder(system);
    blocks = find(blk_finder);

    for block = blocks
        if slreportgen.utils.isValidSlSystem(block.Object) && ...
                ~isempty(slreportgen.utils.block2chart(block.Object))
            rptFile = slreportgen.report.RptFile("sf_setup_file.rpt");
            rptFile.Model = model_name;
            rptFile.System = system;
            rptFile.Block = block;
            add(chap,rptFile);
        end
    end
end

将章节添加到报告中。

add(rpt,chap);

关闭并查看报告。

close(rpt);
rptview(rpt);
close_system(model_name)

版本历史记录

在 R2019a 中推出