cell 配列からのテーブルの作成
この例では、cell 配列を使用していくつかの異なるデータ型のデータを表示するテーブルを作成する方法を示します。
ドキュメントとスタイルの設定
次のコードは、サンプル テーブルの書式設定に使用されるドキュメントおよびテーブルのスタイルを設定します。
長い完全修飾クラス名を使用せずに済むよう、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) };
テーブルの作成
テーブル コンストラクターで cell 配列を使用して、複数のデータ型のデータからテーブルを作成します。cell 配列には、double、string、文字ベクトル、DOM オブジェクト、およびその他の配列を含めることができます。この例では、形式的テーブルを使用します。これは、本体セクションに加えて、オプションでヘッダー セクションおよびフッター セクションをもつテーブルです。
テーブル ヘッダーに表示するラベルを定義します。ヘッダー ラベルは string であるため、cell 配列ではなく string 配列に格納されます。
headerLabels = ["Book", "Year Published", "Characters"];
テーブル本体に表示するデータを定義します。テーブル データは、外部リンク、数値、および string 配列を含んでいるため、cell 配列に格納されます。
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]} {["d'Artagnan" "Athos" "Porthos" "Aramis"]}
{1×1 mlreportgen.dom.ExternalLink} {[1868]} {["Meg" "Jo" "Beth" "Amy" ]}
{1×1 mlreportgen.dom.ExternalLink} {[1902]} {["Sherlock" "Watson" ]}
ヘッダー ラベルとテーブル データを含むテーブルを作成します。テーブル データの単一行 string 配列は、テーブルの構成時に DOM UnorderedList
オブジェクトに変換されます。
cellTbl = FormalTable(headerLabels,tableData);
テーブルとテーブル ヘッダーのスタイルを以前に定義したスタイルに設定します。テーブル エントリのコンテンツがテーブル エントリの境界から 2 ポイントのスペースで区切られるように、テーブル エントリの内側の余白を設定します。テーブルをドキュメントに追加します。
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