Когда вы создаете шаблон формы, вы сопоставляете 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);