Этот пример создает настройку на основе форм, которая генерирует отчет о наборе магических квадратов (см. magic
функция).
Шаблоны, которые вы используете в Report Explorer, должны быть копиями Report Explorer шаблона по умолчанию или основываться на копии.
Запустите Report Explorer:
report
В Report Explorer выберите Tools > Edit Document Conversion Template.
Из списка шаблонов выберите Default Word Template
. В диалоговом окне нажмите кнопку Copy template.
Сохраните шаблон в MATLAB® путь и назовите его magic-square.dotx
.
В списке шаблонов новый шаблон появляется следующим Copy of Default Word Template
. Выберите его и установите следующие свойства:
Template id: magic-square
Display name: Magic Square
Description: Defines the form for my magic square report
Откройте шаблон в Microsoft® Слово. При выбранном шаблоне в диалоговом окне нажмите кнопку Open template.
Чтобы работать с отверстиями в шаблоне Word, отобразите ленту Word Developer, если она не отображается. Затем на Developer ленте включите проект режим. Чтобы помочь вам создать содержимое в нужную область кадра, отображение абзацы.
В шаблоне Word выберите File > Options.
В диалоговом окне Опции выберите Customize Ribbon.
В списке Customize the Ribbon под Main Tabs установите флажок Developer и нажмите OK.
На Developer ленте включите Design Mode.
На Home ленте нажмите кнопку Show/Hide Paragraph Marks.
Шаблон по умолчанию использует другой верхний и нижний колонтитул первой страницы для макета страницы по умолчанию. В данном примере шаблон должен содержать только верхний и нижний колонтитулы страницы по умолчанию. Отредактируйте колонтитулы так, чтобы шаблон содержал только макеты страницы.
С помощью курсора на первой странице создайте пропуск раздела. На Layout ленте выберите Breaks > Next Page.
На новой странице дважды щелкните заголовок страницы. На Header & Footer Tools ленте отключите Link to Previous отключите.
Щелкните нижний колонтитул. Переключить Link to Previous off. Нажмите Close Header and Footer.
С помощью курсора на второй странице создайте пропуск раздела с помощью Layout > Breaks > Next Page.
На третьей странице в верхнем и нижнем колонтитулах отключите Link to Previous.
Первый раздел является страницей заголовка и не использует номер страницы. Второй раздел содержит таблицу содержимого и использует строчные римские цифры, начиная со страницы i. Третий раздел является основным содержимым вашего отчета и использует арабские цифры, начиная со страницы 1.
В нижнем колонтитуле первой страницы удалите номер страницы.
В нижнем колонтитуле второй страницы щелкните правой кнопкой мыши номер страницы и выберите Format Page Numbers. Установите Number format в нижний регистр римских цифр. Установите Start at значение 1
.
Центрируйте номер в нижнем колонтитуле.
В нижнем колонтитуле последней страницы щелкните правой кнопкой мыши номер страницы и выберите Format Page Numbers. Установите Number format в арабские цифры. Установите Start at значение 1
.
Центрируйте номер в нижнем колонтитуле.
Нажмите Close Header and Footer.
Создайте страницу заголовка, которая включает текст таблички и одно отверстие. Текст таблички представляет собой заголовок отчета, а отверстие - дату.
На первой странице, перед пропуском раздела, введите текст заголовка:
My Magic Square Report
Применить Title Word
стиль.
В новом абзаце добавьте встроенное отверстие и присвойте ему заголовок Date
.
Удерживая курсор в абзаце, добавьте пространство и положите перед ним текстовый курсор. Этот метод гарантирует, что вы создаете встроенное отверстие, а не блочное отверстие.
На Developer ленте в группе Controls нажмите кнопку Rich Text Content Control.
На Developer ленте нажмите Properties. Установите Title значение Date
и Tag к Hole
. Нажмите OK.
Чтобы показать назначение отверстия, введите Date
в отверстии.
Удалите пространство, которое следует за отверстием.
Создайте стиль Word с именем MyDate
на основе Normal
.
В свойствах абзаца измените следующие значения:
Space before с 60
Alignment с Centered
Примените стиль MyDate к абзацу, содержащему отверстие Date.
Во втором разделе (вторая страница) добавьте таблицы заголовка содержимого и поля. ТОС содержит имена глав и номера страниц. Поле представляет собой таблицу заполнитель содержимого, который заполняется именами глав и номерами страниц при создании отчета.
Перед пропуском раздела на второй странице добавьте заголовок для таблицы содержимого. Тип Contents
и применить стиль Заголовок ОГТ.
Добавить абзац Normal после заголовка и вставить поле таблицы содержимого. На Insert ленте выберите Quick Parts > Field. Из списка выберите TOC
и нажмите OK. Ответ на появившееся сообщение.
Третий раздел вашего отчета посвящен основному содержимому отчета. Создайте отверстие блока и собственный стиль заголовка для применения к абзацам в настройке отчета.
Вставьте отверстие блока и назовите его Chapters
.
Выберите маркер абзаца. Затем на Developer ленте нажмите кнопку Rich Text Content Control.
Удерживая курсор в элементе управления форматированным текстом, на Developer ленте нажмите Properties. Установите Title значение Chapters
и Tag к Hole
. Нажмите OK.
Тип Chapters
в отверстии для указания назначения отверстия.
Создайте стиль MyHeading1 основанный на заголовке 1.
Смените шрифт на Calibri.
В форматировании абзацев на вкладке Indents and Spacing измените Spacing After на 20
.
На вкладке Line and Page Breaks установите флажок Page Break Before.
Очистите шаблон для генерации отчетов, а затем сохраните и закройте его.
Удалите все пустые абзацы.
Отключите абзацы.
Сохраните и закройте шаблон.
Создайте файл настройки на основе форм. В Report Explorer выберите File > New Form.
В разделе «Опции формы отчета» в разделе Report Output Type and Templates измените File format на Word
и измените имя шаблона на пользовательский шаблон, Magic Square
.
При выборе пользовательского шаблона отверстия и размещения из шаблона заполняют настройку. Эта настройка содержит следующие отверстия:
Блочное отверстие для начала документа (первый раздел) с именем #start#
. Это отверстие содержит DOCX Page Layout
компонент. Компоненты верхнего и нижнего колонтитулов страницы по умолчанию отображаются как дочерние элементы компонента размещения.
Встроенное отверстие с именем Date
.
Блочное отверстие для начала второго сечения с именем #sect2#
, и блочное отверстие для начала третьего участка, названное #sect3#
.
Каждое отверстие сечения содержит компонент макета страницы. Каждый компонент макета страницы содержит Page Header
и Page Footer
Компонент для выбора информации о номере страницы, указанной в шаблоне.
Отверстие блока с именем Chapters
.
Добавить a Text
компонент как дочерний элемент встроенного отверстия Date. Чтобы вставить текущую дату в отверстие, введите это выражение в текстовое поле Text
компонент. Это выражение возвращает значение MATLAB date
команда:
%<date>
Создайте Eval
компонент как дочерний элемент Глав Template Hole
компонент в вашем отчете. В диалоговом окне компонента снимите флажки Insert MATLAB expression in report и Display command window output in report. Скопируйте этот код в Expression to evaluate in the base workspace окно:
% This M-code sets up two variables % that define how the report runs. % mgicSizeVector is a list of MxM % Magic Square sizes to insert into % the report. Magic squares cannot % be 2x2. magicSizeVector=[4 8 16 32]; % largestDisplayedArray sets the % limit of array size to insert % in the report with the % Insert Variable component. largestDisplayedArray=15;
Создайте For Loop
компонент после Eval
компонент в настройке отчета. Установите End значение цикла равным length(magicSizeVector)
. Установите Variable name значение MAGIC_SQUARE_INDEX
.
Добавить Eval
компонент как первый дочерний элемент цикла for. В диалоговом окне компонента установите Expression to evaluate равным Magic_Square_Size=magicSizeVector(MAGIC_SQUARE_INDEX);
. Снимите флажки Insert MATLAB expression in report и Display command window output in report.
Рисунок показывает настройку вашего отчета до сих пор:
Создайте Paragraph
компонент как дочерний компонент for
компонент. В диалоговом окне измените текст абзаца на Style Name Specify
и вводите MyHeading1
. Этот параметр форматирует заголовки глав, сгенерированные циклом for, с MyHeading1 стилем, созданным в шаблоне.
Создайте Insert Variable
компонент как дочерний компонент Paragraph
компонент. Установите Variable name значение Magic_Square_Size
.
Создайте Eval
компонент после Variable
компонент. Снимите флажки Insert MATLAB expression in report и Display command window output in report. Установите Expression to evaluate значение:
% This m-script produces a magic % square of size Magic_Square_Size % and creates an image of that square. mySquare=magic(Magic_Square_Size); clf imagesc(mySquare); title(sprintf('Magic Square N=%i',Magic_Square_Size)) set(gca,'Ydir','normal'); axis equal;
Создайте Logical If
компонент после Eval
компонент. В диалоговом окне компонента установите Test expression равным Magic_Square_Size<=largestDisplayedArray
. Перемещайте Logical If
компонент, так что он является одноуровневым Paragraph
компонент.
Создайте Logical Then
компонент как дочерний компонент Logical If
компонент. Создайте Insert
Variable
компонент как дочерний компонент Logical
Then
компонент. В диалоговом окне установите Variable name равным mySquare
.
Создайте Logical Else
компонент, следующий за Logical Then
компонент. Создайте Figure
Loop
компонент как дочерний компонент Logical
Else
компонент.
Создайте Figure Snapshot
компонент как дочерний компонент Figure Loop
компонент. В диалоговом окне Figure Snapshot установите ориентацию бумаги равной портретной. Установите Image size значение Custom: [5 4] inches
.
Рисунок показывает структуру настройки отчета и настройку для Paragraph
компонент.
Выберите компонент Форма отчета и выберите File > Report.
DOCX Page Layout
| Evaluate MATLAB Expression
| For Loop
| Logical Else
| Logical If
| Logical Then
| Page Footer
| Paragraph
| Template Hole