exponenta event banner

заполниться

Класс: mlreportgen.dom.Document
Пакет: mlreportgen.dom

Заполнение отверстий документа созданным содержимым

Описание

пример

fill(form) заполняет отверстия в форме на основе DOM созданным содержимым. Используйте этот метод с классом, производным от любого из следующих классов:

Примечание

Этот метод используется только с производными классами. Вызов этого метода в экземпляре класса DOM приводит к ошибке.

Этот метод предполагает, что производный класс для каждого отверстия в шаблоне экземпляра определяет метод, имеющий следующую сигнатуру:

fillHoleId(d)
HoleId - идентификатор отверстия, определенный в шаблоне документа. d является экземпляром производного класса. Метод заполнения перемещается из первого отверстия в документе в последнее, вызывая соответствующее fillHoleId способ на каждом отверстии. Таким образом, можно определить методы заполнения отверстий без закольцовывания. Метод заполнения перемещается из отверстия в отверстие для заполнения шаблона.

Входные аргументы

развернуть все

Форма, отверстия которой должны заполняться, заданная как символьный вектор.

Примеры

развернуть все

В этом примере показано, как определить отчет, заполняющий CustomerName отверстие в шаблоне Word.

Создание шаблона, имеющего CustomerName отверстие. В этом примере предполагается, что существует шаблон Word с именем CustomerLetter.dotx.

В файле создайте класс отчета, полученный из 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 - идентификатор отверстия, определенный шаблоном, который используется в документе, и docObj является экземпляром производного класса. При вызове на производном Document объект, fill метод перемещается из первого отверстия в документе в последнее, вызывая соответствующее fillHOLE_ID способ на каждом отверстии. Этот подход устраняет необходимость в дополнительном коде для петли через отверстия в шаблоне.

Представлен в R2014b