fill

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

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

Синтаксис

Описание

пример

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

Примечание

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

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

fillHoleId(d)
HoleId - идентификатор отверстия, заданный в шаблоне документа. d является образцом производного класса. Метод заливки переходит от первого отверстия в документе к последнему, вызывая соответствующее fillHoleId СПОСОБ НА КАЖДОМ ОТВЕРСТИИ. Таким образом можно задать методы, которые заполняют отверстия без закольцовывания. Метод заливки перемещается от отверстия к отверстию, чтобы заполнить шаблон.

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

расширить все

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

Примеры

расширить все

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

Создайте шаблон с 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 - идентификатор отверстия, заданный шаблоном, который используется документом, и docObj является образцом производного класса. При вызове на производном Document объект, fill метод переходит от первого отверстия в документе к последнему, вызывая соответствующее fillHOLE_ID СПОСОБ НА КАЖДОМ ОТВЕРСТИИ. Этот подход устраняет необходимость в дополнительном коде для закольцовывания отверстий в шаблоне.

Введенный в R2014b