В этом примере показано, как использовать массив ячеек, чтобы составить таблицу, которая отображает данные нескольких различных типов данных.
Следующие кодовые наборы документ и стили таблицы, которые будут использоваться, чтобы отформатировать таблицы в качестве примера.
Импортируйте пакет DOM, таким образом, вы не должны использовать долго, полностью определенные имена классов.
import mlreportgen.dom.*
Создайте и откройте документ. Чтобы создать документ в формате PDF, измените выходной тип от docx
к pdf
. Чтобы создать документ HTML, измените docx
к html
или html-file
для многофайлового или однофайлового документа, соответственно.
d = Document("mydoc","docx"); open(d);
Задайте стили для таблицы и раздела заголовка таблицы.
tableStyles = { ColSep("solid"), ... RowSep("solid"), ... Border("solid") }; tableHeaderStyles = { BackgroundColor("lightgray"), ... Bold(true) };
Используйте массив ячеек в табличном конструкторе, чтобы составить таблицу из данных больше чем с одним типом данных. Массив ячеек может содержать, удваивается, строки, векторы символов, Объекты DOM и другие массивы. Этот пример использует формальную таблицу, которая является таблицей, которая имеет раздел тела и дополнительный заголовок и разделы нижнего колонтитула.
Задайте метки, чтобы отобразиться в табличном заголовке. Начальные метки являются строками, таким образом, они хранятся в массиве строк вместо массива ячеек.
headerLabels = ["Book", "Year Published", "Characters"];
Задайте данные, чтобы отобразиться в табличном теле. Табличные данные включают внешние ссылки, числа и строковые массивы, таким образом, они содержатся в массиве ячеек.
book1 = ExternalLink("https://en.wikipedia.org/wiki/The_Three_Musketeers", ... "The Three Musketeers"); book2 = ExternalLink("https://en.wikipedia.org/wiki/Little_Women", ... "Little Women"); book3 = ExternalLink("https://en.wikipedia.org/wiki/The_Hound_of_the_Baskervilles", ... "The Hound of the Baskervilles"); books = {book1; book2; book3}; yearPublished = {1844; 1868; 1902}; characters = { ["d'Artagnan", "Athos", "Porthos", "Aramis"]; ... ["Meg", "Jo", "Beth", "Amy"]; ... ["Sherlock", "Watson"] }; tableData = [books, yearPublished, characters]
tableData=3×3 cell array
{1×1 mlreportgen.dom.ExternalLink} {[1844]} {1×4 string}
{1×1 mlreportgen.dom.ExternalLink} {[1868]} {1×4 string}
{1×1 mlreportgen.dom.ExternalLink} {[1902]} {1×2 string}
Составьте таблицу, содержащую табличные данные и начальные метки. Строковые массивы одной строки в табличных данных преобразованы в UnorderedList
DOM объекты, когда таблица создается.
cellTbl = FormalTable(headerLabels,tableData);
Установите стиль табличного и табличного заголовка к ранее заданным стилям. Установите внутреннее поле записей таблицы так, чтобы содержимое записи таблицы было разделено от границ записи таблицы пробелом двух точек. Добавьте таблицу к документу.
cellTbl.Style = [cellTbl.Style, tableStyles];
cellTbl.Header.Style = [cellTbl.Header.Style, tableHeaderStyles];
cellTbl.TableEntriesInnerMargin = "2pt";
append(d,cellTbl);
Закройте и просмотрите документ.
close(d); rptview(d);
mlreportgen.dom.FormalTable
| mlreportgen.dom.ExternalLink