Когда вы создаете шаблон формы, вы сопоставляете ID с каждой дырой в шаблоне. ID позволяет вам перемещаться по дырам в форме, с помощью функции moveToNextHole
DOM.
В первый раз, когда вы выполняете функцию moveToNextHole
, ДОМ АПИ копирует в выходной документ весь текст в шаблоне до первой дыры. На данном этапе можно начать добавлять содержимое в выходной документ с помощью функции append
ДОМА, таким образом, заполнив первую дыру.
В следующий раз, когда вы выполняете функцию moveToNextHole
, ДОМ АПИ копирует весь текст между первой и второй дырой в шаблоне к выходному документу. Можно затем заполнить вторую дыру путем добавления содержимого к выходному документу. Таким образом вы генерируете выходной документ путем копирования содержимого с шаблона и заполнения всех его дыр.
Например, эта функция генерирует отчет от шаблона Word, который имеет дыры под названием Title
, Author
и Content
. Аргументы title
, author
, и content
, приняты, чтобы быть векторами символов.
function makerpt(title,author,content,rptname,rpttemplate) import mlreportgen.dom.* rpt = Document(rptname,'docx',rpttemplate); while ~strcmp(rpt.CurrentHoleId,'#end#') switch rpt.CurrentHoleId case 'Title' append(rpt,title); case 'Author' append(rpt,author); case 'Content' append(rpt,content); end moveToNextHole(rpt); end close(rpt);