fill

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

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

Синтаксис

Описание

пример

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

Примечание

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

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

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

Входные параметры

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

Сформируйтесь чьи отверстия, чтобы заполнить в виде вектора символов.

Примеры

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

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

Создайте шаблон, который имеет CustomerName отверстие. Этот пример принимает, что существует шаблон Word под названием CustomerLetter.dotx.

В файле создайте класс отчета, выведенный из mlreportgen.dom.Document. Из MATLAB® панель инструментов, выберите New> Class и задайте класс. Например:

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