Что такое генератор отчетов?

Генераторы отчетов являются объектами MATLAB®, которые генерируют отформатированное содержимое, когда добавлено к Объекту отчета MATLAB Report Generator™. MATLAB Report Generator обеспечивает генераторы отчетов для генерации общих компонентов отчета, таких как титульные листы, оглавления, главы, подразделы, фигуры и значения переменных MATLAB. Можно настроить содержимое и внешний вид этих генераторов отчетов. Можно также создать собственные генераторы отчетов. Для списка встроенных объектов API Отчета введите эту команду MATLAB:

help mlreportgen.report

Генераторы отчетов и объекты DOM

В дополнение к генераторам отчетов MATLAB Report Generator обеспечивает другой набор объектов для генерации содержимого отчета. Эти объекты являются объектами Объектной модели документа (DOM). Они реализуют модель документа, используемого HTML, Word и другим программным обеспечением создания документа. Модель задает документ как иерархию объектов, обычно находимых в документах, таких как текстовые строки, абзацы, изображения и таблицы. API DOM содержит программные объекты, которые генерируют эти объекты первичного документа. Для списка Объектов DOM введите эту команду MATLAB:

help mlreportgen.dom

Генераторы отчетов, в отличие от этого, создают высокоуровневые структуры документа, такие как титульные листы, оглавления и главы, которые происходят во многих, но не всех типах документов. Преимущество генераторов отчетов состоит в том, что один генератор отчетов может создать содержимое, которое потребовало бы многих Объектов DOM. Однако программа генератора отчетов обычно требует и DOM и объектов генератора отчетов. Например, генератор отчетов главы генерирует заголовок и макет страницы главы отчета, но не ее содержимое. API DOM предоставляет текст, абзац, таблицу, список, изображение и другие объекты, которые можно использовать, чтобы создать содержимое генератора отчетов.

Следующая программа MATLAB иллюстрирует использование и генераторы отчетов и Объекты DOM, чтобы создать отчет PDF. Программа использует объект DOM Text добавить блок текста к главе. Все другие объекты в этом примере (Report, TitlePage, TableOfContents и Chapter) являются объектами генератора отчетов.

rpt = mlreportgen.report.Report('myreport','pdf');
add(rpt,mlreportgen.report.TitlePage('Title','My Report',...
   'Author','Myself'))
add(rpt,mlreportgen.report.TableOfContents)
ch = mlreportgen.report.Chapter('Title','Sample Text');
add(ch,mlreportgen.dom.Text...
   ('Here is sample text using a DOM Text object.'))
add(rpt,ch)
close(rpt)
rptview(rpt)

Элементы генератора отчетов

Генератор отчетов обычно включает следующие элементы:

  • Обработайте по шаблону документы, которые задают внешний вид, фиксированное содержимое и дыры для динамического контента, сгенерированного генератором отчетов. Генератор отчетов обычно обеспечивает набор файлов шаблонов, один для каждого поддерживаемого выходного типа: Word, PDF и HTML. Каждый файл шаблона содержит библиотеку шаблонов, используемых генератором отчетов, чтобы отформатировать его содержимое. Например, API Отчета генератор отчетов TitlePage использует шаблон под названием TitlePage, чтобы отформатировать титульный лист. Шаблон TitlePage хранится в библиотеках шаблонов его файлов шаблона. Можно изменить этот шаблон, чтобы перестроить или добавить содержимое в титульный лист. Для получения информации смотрите Шаблоны.

  • Свойства, которые задают динамический контент, сгенерированный генератором отчетов. Эти свойства соответствуют дырам в шаблоне генератора отчетов. Генератор отчетов заполняет дыры шаблона со значениями соответствующих свойств.

  • Класс MATLAB, который задает свойства генератора отчетов и методы, которые вы используете, чтобы создать и управлять генератором отчетов. Имена классов генератора отчетов начинаются с префикса, mlreportgen.report. Например, генератором отчетов титульного листа является mlreportgen.report.TitlePage. Можно не использовать префикс в скрипте MATLAB или функционировать путем вставки этого оператора в начале скрипта или функции:

    import mlreportgen.report.*
    Аналогично, можно включать import mlreportgen.dom.*, чтобы использовать короткие имена классов DOM.

  • Метод конструктора, который создает объект генератора отчетов как экземпляр класса генератора отчетов. Имя конструктора совпадает с именем класса.

  • Объект DOM, который содержит содержимое, сгенерированное отчетом. Этот объект упоминается как реализация генератора отчетов. Каждый генератор отчетов имеет метод getImpl, который создает объект реализации, который обычно является объектом DOM DocumentPart.

Используя генераторы отчетов в программе MATLAB

Чтобы сгенерировать содержимое в программе отчета, выполните эти шаги:

Пример программы, описанный на этих шагах, создает простой документ, который включает только титульный лист. Однако шаги демонстрируют задачи создать полный отчет. Полную распечатку программ показывают после описаний шага.

Создайте объект отчета

Создайте Объект отчета (mlreportgen.report.Report), чтобы содержать содержимое, сгенерированное отчетом. Объект отчета использует объект DOM Document содержать содержимое, сгенерированное генераторами отчетов, добавленными к отчету. Этот код импортирует пакет API Отчета, который позволяет коду использовать короткие имена классов. Затем это создает объект отчета PDF (rpt).

import mlreportgen.report.*
rpt = Report('myReport','pdf');

Создайте экземпляр генератора отчетов

Создайте экземпляр класса генератора отчетов, то есть, инстанцируйте генератора отчетов, с помощью его конструктора. Конструктор может также установить свойства объекта генератора отчетов, который это создает. Например, этот код создает генератор отчетов титульного листа (tp) и устанавливает его свойства Title и Author.

tp = TitlePage('Title','My Report','Author','John Smith');

Установите свойства существующего генератора отчетов

Чтобы установить свойства генератора отчетов после, программа создала генератор отчетов, программа может использовать запись через точку MATLAB. Например, это кодовые наборы свойства Subtitle и PubDate генератора отчетов TitlePage (tp).

tp.Subtitle = 'on My Project';
tp.PubDate = date;

Добавьте генератор отчетов в отчет

Чтобы сгенерировать содержимое с помощью генератора отчетов, программа отчета должна добавить генератор отчетов в объект отчета, с помощью метода add объекта отчета. Метод add работает путем вызова метода getImpl того генератора отчетов. Метод getImpl создает реализацию генератора отчетов. Затем метод add добавляет реализацию в объект DOM Document, который служит реализацией объекта отчета. Можно также использовать метод add, чтобы добавить Объекты DOM в отчет. Вы не можете, однако, добавить другой Document DOM в отчет.

Например, этот код добавляет генератор отчетов титульного листа (tp) в отчет (rpt).

add(rpt,tp)

Закройте объект отчета

Когда программа отчета закончила добавлять содержимое в отчет, это должно закрыть отчет, с помощью метода close объекта отчета. Закрытие отчета пишет содержимое отчета в файл документа типа, такого как PDF, заданный конструктором объекта отчета.

close(rpt)

Этот код является полной программой для отчета, который включает только титульный лист.

import mlreportgen.report.*

rpt = Report('myReport','pdf');

tp = TitlePage('Title','My Report',...
    'Author','John Smith');
tp.Subtitle = 'on My Project';
tp.PubDate = date;

add(rpt,tp)
close(rpt)
rptview(rpt)

Смотрите также

| | |

Похожие темы