MATLAB table からのテーブルの作成
MATLAB® table から DOM API テーブルを作成するには、mlreportgen.dom.MATLABTable オブジェクトを使用します。MATLAB table の DOM 表現は、DOM の形式的 table の構造をもちます。形式的テーブルの作成を参照してください。MATLABTable のヘッダーには、MATLAB table の列名が含まれます。MATLABTable の本体には、MATLAB table の行と要素が含まれます。
MATLAB の table が行名をもつ場合、MATLABTable オブジェクトの最初の列に行名が含まれます。MATLAB では、行名の列はラベルをもちません。MATLABTable オブジェクトでは、ヘッダーの最初の要素のコンテンツを変更することにより、行名列のラベルを指定できます。MATLABTable オブジェクトの RowNamesRule プロパティを true に設定することにより、行名列のラベルの下の行を指定できます。
レポート内で作成可能な他の種類のテーブルについては、Report Generator で作成するテーブルの種類の選択を参照してください。
MATLAB table からのテーブルの作成
この例では、行名をもつ MATLAB table から DOM table を作成します。この例では、DOM table を含む 2 つのレポートを生成します。最初のレポートでは、テーブルの行名の列にラベルがありません。2 番目のレポートでは、行名の列にラベルがあります。
患者の年齢、体重、身長を表示する MATLAB table を作成します。RowNames オプションを使用して、患者の姓で各行を識別します。
LastName = {'Sanchez';'Johnson';'Lee';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Weight = [176;163;131;133;119];
Height = [71;69;64;67;64];
mltable = table(Age,Weight,Height,'RowNames',LastName)mltable=5×3 table
Age Weight Height
___ ______ ______
Sanchez 38 176 71
Johnson 43 163 69
Lee 38 131 64
Diaz 40 133 67
Brown 49 119 64
この MATLAB table には 5 つの行と 3 つの列があります。行名は table の一部ではありません。それらは table のプロパティに格納されます。
MATLAB table から mlreportgen.dom.MATLABTable オブジェクトを作成します。
import mlreportgen.dom.*
mltableObj = MATLABTable(mltable);ドキュメントを作成し、MATLABTable オブジェクトをドキュメントに追加します。ドキュメントを閉じて表示します。
d = Document('MyMATLABTable1','docx'); append(d,mltableObj); close(d); rptview(d);
生成されたレポートのテーブルは次のようになります。

DOM table は、ヘッダーと本体をもつ形式的テーブルです。このテーブルには 5 つの行と 4 つの列があります。最初の列は、MATLAB table の行名で構成されています。
レポートを再度生成します。今回は行名の列にラベルを使用します。ラベルを指定するには、テーブル ヘッダー行の最初のエントリ内の空のテキストをラベル テキストに置き換えます。ラベルの下に線を引くには、MATLABTable オブジェクトの RowNamesRule プロパティを true に設定します。
LastName = {'Sanchez';'Johnson';'Lee';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Weight = [176;163;131;133;119];
Height = [71;69;64;67;64];
mltable = table(Age,Weight,Height,'RowNames',LastName);
import mlreportgen.dom.*
mltableObj = MATLABTable(mltable);
th = mltableObj.Header;
thentry11 = entry(th,1,1);
thentry11.Children(1).Children(1).Content = 'Names';
mltableObj.RowNamesRule = true;
d = Document('MyMATLABTable2','docx');
append(d,mltableObj);
close(d);
rptview(d);生成されたレポートのテーブルは次のようになります。

MATLAB table から作成されたテーブルの書式設定
既定では、MATLABTable オブジェクトから生成されたテーブルは、MATLAB のテーブルのように書式設定されます。テーブルの外観をカスタマイズするには、他のタイプのテーブルに使用するのと同じ方法を使用できます。
既定の HTML、Word、または PDF のテンプレートのスタイル シートで既定のスタイルを更新します。
MATLABTableオブジェクトの既定のStyleNameは"rgMATLABTable"です。StyleNameプロパティをカスタム スタイルに設定します。書式プロパティを使用するか、テーブルまたはテーブル セクションでオブジェクトを書式設定します。
テーブルの書式設定を参照してください。
MATLAB Table のセクションの書式設定
この例では、MATLAB table から作成された DOM テーブルのセクションを書式設定する方法を示します。
テーブル ヘッダーの書式設定
この例では、列見出しをイタリックにします。

ヘッダーにアクセスするには、mlreportgen.dom.MATLABTable オブジェクトの Header プロパティを使用します。この例では、ヘッダーを表す mlreportgen.dom.TableHeader オブジェクトの Style プロパティに mlreportgen.dom.Italic 書式オブジェクトを追加します。
import mlreportgen.dom.* d = Document('myMATLABTable','pdf'); Age = [38;43;38;40;49]; Height = [71;69;64;67;64]; Weight = [176;163;131;133;119]; mltable = table(Age,Weight,Height); mltableObj = MATLABTable(mltable); mltableObj.Header.Style = [mltableObj.Header.Style {Italic(true)}]; append(d,mltableObj); close(d); rptview(d);
テーブル本体の書式設定
この例では、テーブル本体の最初の行のエントリを青色にします。

テーブル本体にアクセスするには、mlreportgen.dom.MATLABTable オブジェクトの Body プロパティを使用します。本体の行にアクセスするには、行を表す mlreportgen.dom.TableRow オブジェクトの row メソッドを使用します。この例では、最初の行を表す TableRow オブジェクトの Style プロパティに mlreportgen.dom.Color 書式オブジェクトを追加します。
import mlreportgen.dom.* d = Document('myMATLABTable','pdf'); Age = [38;43;38;40;49]; Height = [71;69;64;67;64]; Weight = [176;163;131;133;119]; mltable = table(Age,Weight,Height); mltableObj = MATLABTable(mltable); tbody = mltableObj.Body; row1 = row(tbody,1); row1.Style = [row1.Style {Color('blue')}]; append(d,mltableObj); close(d); rptview(d);