Main Content

mlreportgen.dom.MATLABTable クラス

名前空間: mlreportgen.dom
スーパークラス: mlreportgen.dom.FormalTable

説明

mlreportgen.dom.MATLABTable クラスのオブジェクトを使用して MATLAB® table を DOM table に変換します。

mlreportgen.dom.MATLABTable クラスは handle クラスです。

クラス属性

HandleCompatible
true
ConstructOnLoad
true

作成

説明

MLTableObj = mlreportgen.dom.MATLABTable(table) は、指定した MATLAB table に基づいたテーブル オブジェクトを作成します。

MLTableObj = mlreportgen.dom.MATLABTable(table,stylename) はテーブル オブジェクトを作成し、StyleName プロパティを stylename に設定します。この table を含むレポートを生成するために使用するテンプレートにスタイルを定義します。

入力引数

すべて展開する

DOM table の生成に使用される MATLAB table。MATLAB table として指定します。

プロパティ

すべて展開する

CSS の色名または 16 進数の RGB 値で構成される背景色。文字ベクトルまたは string スカラーとして指定します。

  • CSS の色名のリストについては、https://www.w3.org/wiki/CSS/Properties/color/keywordsを参照してください。

  • 16 進数の RGB 書式を指定するには、最初の文字として # を使用し、赤、緑、および青の値に 2 桁の 16 進数を使用します。たとえば、"#0000ff" は青を指定します。

メモ

BackgroundColor プロパティを設定すると、mlreportgen.dom.BackgroundColor 書式オブジェクトが Style プロパティに追加されます。BackgroundColor プロパティを空の値に設定すると、そのオブジェクトは削除されます。

例: "blue"

例: "#0000ff"

属性:

NonCopyable
true

データ型: char | string

テーブル コンストラクターは、mlreportgen.dom.TableBody オブジェクトを作成して、形式的テーブルを構築するときにこのプロパティに割り当てます。このプロパティを後で設定することはできません。ただし、テーブル本体にコンテンツを追加し、このプロパティを使ってテーブル本体のプロパティを設定できます。

属性:

SetAccess
protected
NonCopyable
true

描画する境界線のタイプ。次の表のいずれかの値として指定します。

境界線の値説明サポートされる出力タイプ

"dashed"

破線

HTML、PDF、Word

"dashdotstroked"

斜めの破線と点が交互に入った線

Word

"dashsmallgap"

破線間に小さい隙間がある破線

Word

"dotted"

点線

HTML、PDF、Word

"dotdash"

点と破線が交互に入った線

Word

"dotdotdash"

2 つの点と 1 本の破線が交互に入った線

Word

"double"

二重線

HTML、PDF、Word

"doublewave"

二重波線

Word

"groove"

3D 効果溝付き線

HTML、PDF

"hidden"

線なし

境界線タイプ "none" も線を生成しません。ただし、競合する境界線の処理が、"hidden" タイプと "none" タイプで異なります。境界線タイプ "hidden" は、競合する境界線タイプよりも優先されます。競合する境界線タイプは、"none" タイプよりも優先されます。

HTML、PDF

"inset"

3D 効果線

HTML、PDF、Word

"none"

線なし

境界線タイプ "hidden" も線を生成しません。ただし、競合する境界線の処理が、"hidden" タイプと "none" タイプで異なります。境界線タイプ "hidden" は、競合する境界線タイプよりも優先されます。競合する境界線タイプは、"none" タイプよりも優先されます。

HTML、PDF、Word

"outset"

3D 効果線

HTML、PDF、Word

"ridge"

3D 効果突起付き線

HTML、PDF

"single"

一重線

Word

"solid"

一重線

HTML、PDF

"thick"

太い線

Word

"thickthinlargegap"

太い破線と細い破線が交互に入った隙間の大きい破線

Word

"thickthinmediumgap"

太い破線と細い破線が交互に入った隙間が中程度の破線

Word

"thickthinsmallgap"

太い破線と細い破線が交互に入った隙間の小さい破線

Word

"thinthicklargegap"

細い破線と太い破線が交互に入った隙間が中程度の破線

Word

"thinthickmediumgap"

細い破線と太い破線が交互に入った隙間が中程度の破線

Word

"thinthicksmallgap"

細い破線と太い破線が交互に入った隙間の小さい破線

Word

"thinthickthinlargegap"

細い破線と太い破線が交互に入った隙間の大きい破線

Word

"thinthickthinmediumgap"

細い破線と太い破線が交互に入った隙間が中程度の破線

Word

"thinthickthinsmallgap"

細い破線と太い破線が交互に入った隙間の小さい破線

Word

"threedemboss"

エンボス加工した効果線

Word

"threedengrave"

彫り込み効果線

Word

"triple"

三重線

Word

"wave"

波線

Word

属性:

NonCopyable
true

データ型: char | string

"on" の値は、隣接したセルの境界線を単一境界線に折りたたみます。"off" の値は、隣接したセルの境界線を保持します。

メモ

このプロパティは、HTML ドキュメントにのみ適用されます。

属性:

NonCopyable
true

データ型: char | string

境界線の色。CSS の色名 (https://www.w3.org/wiki/CSS/Properties/color/keywordsを参照) または #RRGGBB 形式の 16 進数の RGB (トゥルーカラー) 値で構成される文字ベクトルまたは string スカラーとして指定します。

例: 'blue'

例: '#0000ff'

属性:

NonCopyable
true

データ型: char | string

テーブルの境界線幅。valueUnits の形式で指定します。ここで、Units は単位の略語です。有効な略語を以下に示します。

  • "px" — ピクセル

  • "cm" — センチメートル

  • "in" — インチ

  • "mm" — ミリメートル

  • "pc" — パイカ

  • "pt" — ポイント

例: "2pt"

属性:

NonCopyable
true

データ型: char | string

テーブルまたはテーブル セクションの列を分ける線のスタイル。string スカラーまたは文字ベクトルとして指定します。有効なエントリの表については、Border プロパティを参照してください。

属性:

NonCopyable
true

データ型: char | string

列を分ける線の色。CSS の色名または 16 進数の RGB 値で構成される文字ベクトルまたは string スカラーとして指定します。

  • CSS の色名のリストについては、https://www.w3.org/wiki/CSS/Properties/color/keywordsを参照してください。

  • 16 進数の RGB 書式を指定するには、最初の文字として # を使用し、赤、緑、および青の値に 2 桁の 16 進数を使用します。たとえば、"#0000ff" は青を指定します。

例: "blue"

例: "#0000ff"

属性:

NonCopyable
true

データ型: char | string

テーブル列を分ける線の幅。数値とそれに続く測定単位の略語で構成される文字ベクトルまたは string スカラーとして指定します。有効な Units の略語は次のとおりです。

  • "px" — ピクセル

  • "cm" — センチメートル

  • "in" — インチ

  • "mm" — ミリメートル

  • "pc" — パイカ

  • "pt" — ポイント

例: "10pt"

属性:

NonCopyable
true

データ型: char | string

列のグループの幅、配置、およびその他のプロパティを指定する mlreportgen.dom.TableColSpecGroup オブジェクトの配列。最初のオブジェクトが列の最初のグループに、2 番目のオブジェクトが 2 番目のグループに適用されます。以下同様に続きます。TableColSpecGroup オブジェクトの Span プロパティを使用して、各グループに属する列数を指定します。たとえば、最初のオブジェクトは、範囲が 2 の場合、最初の 2 つの列に適用されます。2 番目のグループは、範囲が 3 の場合、次の 3 つの列に適用されます。以下同様に続きます。

属性:

NonCopyable
true

テキストが記述される方向。以下のいずれか 1 つを値として指定します。

  • "ltr" — テキストが左から右へ記述される

  • "rtl" — テキストが右から左へ記述される

属性:

NonCopyable
true

データ型: char | string

このテーブルの水平方向の配置。以下のいずれかの値として指定します。

  • "center"

  • "left"

  • "right"

メモ

PDF 出力でテーブルが大きい場合にオーバーフローしないようにするには、Width プロパティを設定します。

属性:

NonCopyable
true

データ型: char | string

テーブル コンストラクターは、テーブル ヘッダー オブジェクトを作成して、形式的テーブルを構築するときにこのプロパティに割り当てます。このプロパティを後で設定することはできません。ただし、テーブル本体にコンテンツを追加し、このプロパティを使ってテーブル本体のプロパティを設定できます。

属性:

SetAccess
private
Transient
true
NonCopyable
true

見出しの水平方向のルール。mlreportgen.dom.HorizontalRule オブジェクトとして指定します。

属性:

NonCopyable
true

テーブルのコンテンツを同一ページ内に保持するかどうか。数値または logical の 1 (true) または 0 (false) として指定します。既定値は空で、true と等価です。

属性:

NonCopyable
true

データ型: logical

列数。整数として指定します。

属性:

SetAccess
private
NonCopyable
true

データ型: uint64

テーブルの左余白。数値とそれに続く測定単位の略語で構成される文字ベクトルまたは string スカラーとして指定します。有効な略語を以下に示します。

  • "px" — ピクセル

  • "cm" — センチメートル

  • "in" — インチ

  • "mm" — ミリメートル

  • "pc" — パイカ

  • "pt" — ポイント

例: "10pt"

属性:

NonCopyable
true

データ型: char | string

行の名前を含む最初の列を有効にするかどうか。logical として指定します。MATLAB table オブジェクトは行の名前を定義しなければなりません。

属性:

NonCopyable
true

データ型: logical

テーブルの行を分ける線のスタイル。文字ベクトルまたは string スカラーとして指定します。

使用可能な値の説明については、Border プロパティの説明を参照してください。

属性:

NonCopyable
true

データ型: char | string

テーブル行を分ける線の色。CSS の色名または 16 進数の RGB 値で構成される文字ベクトルまたは string スカラーとして指定します。

  • CSS の色名のリストについては、https://www.w3.org/wiki/CSS/Properties/color/keywordsを参照してください。

  • 16 進数の RGB 書式を指定するには、最初の文字として # を使用し、赤、緑、および青の値に 2 桁の 16 進数を使用します。たとえば、"#0000ff" は青を指定します。

例: "blue"

例: "#0000ff"

属性:

NonCopyable
true

データ型: char | string

行の区切りの幅。valueUnits の形式で指定します。ここで、Units は単位の略語です。有効な略語を以下に示します。

  • "px" — ピクセル

  • "cm" — センチメートル

  • "in" — インチ

  • "mm" — ミリメートル

  • "pc" — パイカ

  • "pt" — ポイント

例: "5pt"

属性:

NonCopyable
true

データ型: char | string

valueUnits 形式をもつ、ページ幅 (Word レポートの余白を引いたもの) に対する割合 (たとえば、'100%')、または測定単位の数値。Units は単位の略語です。有効な略語を以下に示します。

  • px — ピクセル

  • cm — センチメートル

  • in — インチ

  • mm — ミリメートル

  • pc — パイカ

  • pt — ポイント

  • % — 割合

例: "5pt"

属性:

NonCopyable
true

データ型: char | string

テーブル エントリに使用するスタイル。書式オブジェクトの cell 配列として指定します。

メモ

このプロパティで指定されたスタイルは、テーブル エントリのコンテンツに適用され、エントリ自体には適用されません。たとえば、このプロパティを使用してテーブル エントリのフォント サイズを定義できますが、エントリの境界線のタイプや色を定義することはできません。境界線を指定するには、各エントリの Style プロパティを設定する必要があります。

メモ

このプロパティの以前の設定を誤って上書きしないように注意してください。たとえば、このテーブルの TableEntriesHAlign プロパティを設定すると、HAlign 書式オブジェクトがこのプロパティに追加されます。このプロパティが上書きされないようにするには、このプロパティに書式を追加する他のテーブル プロパティを設定する前に、このプロパティを設定する必要があります。

属性:

NonCopyable
true

データ型: cell

内側の余白はテーブル セルのコンテンツとセル境界線間の余白であり、形式は valueUnits です。ここで、Units は単位の略語です。有効な略語を以下に示します。

  • "px" — ピクセル

  • "cm" — センチメートル

  • "in" — インチ

  • "mm" — ミリメートル

  • "pc" — パイカ

  • "pt" — ポイント

属性:

NonCopyable
true

データ型: char | string

このテーブルを追加するドキュメントまたはドキュメント パーツのスタイル シートで指定したスタイルの名前。文字ベクトルまたは string スカラーとして指定します。

StyleName プロパティで指定されたスタイルは、このテーブルを追加するドキュメントまたはドキュメント パーツのスタイルシートで定義されていなければなりません。指定されたスタイルは、この MATLABTable オブジェクトの Style プロパティで指定された書式を除いて、出力ドキュメントでのテーブルの外観を定義します。Style プロパティで指定された書式オブジェクトは、スタイルシートで定義された書式をオーバーライドします。

形式的テーブル セクションの StyleName プロパティを設定できます。StyleName の設定は、形式的テーブルによって指定したスタイルをオーバーライドします。ただし、Word ドキュメントにこれを行う場合は、セクションで各列の幅を明示的に指定して確実にすべてのセクションを同じ幅にしなければなりません。HTML および PDF とは異なり、Word には形式的テーブルの組み込みサポートはありません。これを処理するために、DOM インターフェイスでは、セクションごとに 3 行 1 列のテーブルに組み込んだ 3 つのテーブルとして形式的テーブルを表します。

属性:

NonCopyable
true

データ型: char | string

このドキュメント要素オブジェクトの書式指定。書式オブジェクトの配列として指定します。このプロパティで指定された書式は、この要素の StyleName プロパティで指定された対応する書式をオーバーライドします。この要素に適用されない書式は無視されます。

属性:

NonCopyable
true

データ型: cell

このドキュメント要素のカスタム属性。mlreportgen.dom.CustomAttribute オブジェクトの配列として指定します。カスタム属性は、このオブジェクトが追加されるドキュメント要素の出力形式でサポートされていなければなりません。

属性:

NonCopyable
true

mlreportgen.dom.MATLABTable オブジェクトの親。ドキュメント要素オブジェクトとして指定します。ドキュメント要素の親は 1 つでなければなりません。

属性:

SetAccess
private
NonCopyable
true

mlreportgen.dom.MATLABTable オブジェクトの子。ドキュメント要素オブジェクトの配列として指定します。このプロパティには、append メソッドを使用して追加されたドキュメント要素オブジェクトが含まれます。

属性:

SetAccess
private
NonCopyable
true

mlreportgen.dom.MATLABTable オブジェクトのタグ。文字ベクトルまたは string スカラーとして指定します。DOM API は、このオブジェクトを作成するときに、セッション固有タグを生成します。生成されるタグの形式は CLASS:ID という形式です。ここで、CLASS はオブジェクト クラスです。ID はオブジェクトの Id プロパティの値です。独自のタグ値を指定すると、ドキュメント生成中に問題が発生したときにどこを確認すればよいかを特定しやすくなります。

属性:

NonCopyable
true

データ型: char | string

mlreportgen.dom.MATLABTable オブジェクトのオブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。DOM API は、ドキュメント要素オブジェクトの作成時にセッション固有識別子を生成します。Id には独自の値を指定できます。

属性:

NonCopyable
true

データ型: char | string

メソッド

すべて展開する

すべて折りたたむ

この例では、行名をもつ 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);

生成されたレポートのテーブルは次のようになります。

バージョン履歴

R2016b で導入