主要内容

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

fill

类: mlreportgen.dom.Document
命名空间: mlreportgen.dom

使用生成的内容填充文档空位

说明

fill(form) 使用生成的内容填充基于 DOM 的表单中的空位。将此方法与从以下任意类派生的类一起使用:

注意

仅对派生类使用此方法。在 DOM 类的实例上调用此方法会导致错误。

此方法假定派生类为实例模板中的每个空位定义了一个具有以下签名的方法:

fillHoleId(d)
HoleId 是文档模板中定义的空位的 ID。d 是派生类的一个实例。填充方法从文档中的第一个空位移动到最后一个空位,在每个空位处调用相应的 fillHoleId 方法。这样,您就可以定义无需循环即可填补空位的方法。填充方法从一个空位移动到另一个空位来填充模板。

示例

输入参数

全部展开

要填补空位的表,指定为字符向量或字符串标量。

示例

全部展开

此示例显示如何定义填充 Word 模板中的 CustomerName 空位的报告。

创建一个具有 CustomerName 空位的模板。此示例假设有一个名为 CustomerLetter.dotx 的 Word 模板。

在文件中,创建一个派生自 mlreportgen.dom.Document 的报告类。从 MATLAB® 工具条中,选择新建 > 并定义类。例如:

classdef MyReport < mlreportgen.dom.Document
    %MYREPORT defines a customize letter to customers
    %   
    % rpt = MyReport("mydoc","docx","CustomerLetter");
    % rpt.CustomerName = "Smith";
    % fill(rpt);
    
    properties
        CustomerName;
    end
    
    methods
        function rpt = MyReport(filename,type,template)
          rpt = rpt@mlreportgen.dom.Document(filename,type,template);
        end
        
        function fillCustomerName(rpt)
          append(rpt,rpt.CustomerName);
        end
    end
    
end

使用报告。

rpt = MyReport("mydoc","docx","CustomerLetter");
rpt.CustomerName = "Mr. Smith";
fill(rpt);

提示

在派生类中,定义 fill 方法,为模板中的每个空位插入内容。使用此签名:

fillHOLE_ID(docObj);

HOLE_ID 是文档使用的模板定义的空位的 ID,docObj 是派生类的实例。当在派生的 Document 对象上调用时,fill 方法会从文档中的第一个空位移动到最后一个空位,并在每个空位处调用相应的 fillHOLE_ID 方法。这种方法消除了使用额外代码来循环模板中的空位的需要。

版本历史记录

在 R2014b 中推出