Main Content

mlreportgen.report.BaseTable クラス

パッケージ: mlreportgen.report
スーパークラス: mlreportgen.report.Reporter

テーブル レポーターの作成

説明

mlreportgen.report.BaseTable クラスのオブジェクトを使用して、タイトルをもつテーブルのレポーターを作成します。

mlreportgen.report.BaseTable クラスは handle クラスです。

クラス属性

HandleCompatible
true

作成

説明

table = mlreportgen.report.BaseTable() は、空のテーブル レポーターを作成します。レポーター プロパティを使用して、テーブルのコンテンツ、タイトル、スタイル、および幅を指定します。

table = mlreportgen.report.BaseTable(content) はテーブル レポーターを作成し、Content プロパティを content に設定します。

table = mlreportgen.report.BaseTable(Name=Value) は、名前と値のペアを使用してプロパティを設定します。複数の名前と値のペアの引数を任意の順番で指定できます。

プロパティ

すべて展開する

テーブルのタイトル。次の値のいずれかとして指定します。

  • string スカラーまたは文字ベクトル

  • DOM オブジェクト

  • string または DOM オブジェクトから成る 1 行 N 列または N 行 1 列の配列

  • string、文字ベクトル、または DOM オブジェクトからなる 1 行 N 列または N 行 1 列の cell 配列

  • getTitleReporter メソッドによって返されるホール レポーター

タイトルの値がインライン コンテンツ (段落に含まれるコンテンツ) の場合、テーブル レポーターはテンプレート ライブラリに格納されているテンプレートを使用してタイトルを書式設定します。テンプレートは、テーブルが番号付きの章にあるか番号なしの章にあるかによって異なる書式を使用して、テーブルのタイトルに自動的に番号を付けます。

  • 番号が付けられた章のテーブルは、"表 N.M" という形式のタイトル テキストの接頭辞をもちます。ここで、N は章番号、M は章内のテーブル番号です。たとえば、レポートの 2 番目の章にある 3 番目のテーブルの接頭辞は Table 2.3 になります。

  • 番号なしの章のテーブルには、"Table N" という形式のタイトル テキストの接頭辞があります。ここで、N は、レポートの最初のテーブルでは 1、2 番目のテーブルでは 2 のようになります。

英語以外の多くのロケールでは、タイトルの接頭辞がロケールの言語と形式に変換されます。変換済みロケールのリストについては、mlreportgen.report.ReportLocale プロパティを参照してください。

属性:

GetAccess
public
SetAccess
public

テーブルのコンテンツ。次の値のいずれかとして指定します。

  • mlreportgen.dom.Table オブジェクト

  • mlreportgen.dom.FormalTable オブジェクト

  • mlreportgen.dom.MATLABTable オブジェクト

  • DOM オブジェクトまたは組み込み MATLAB® オブジェクトの 2 次元配列または cell 配列

  • getContentReporter メソッドによって返されるホール レポーター

BaseTable コンストラクターまたは add メソッドを使用して、このプロパティを設定します。直接設定することはできません。

属性:

GetAccess
public
SetAccess
public

テーブルに適用するスタイルの名前。string スカラーまたは文字ベクトルとして指定します。指定するスタイルは、このテーブルを追加するレポートで使用されるテンプレートまたはレポートに追加されるレポーターのテンプレートで定義されているテーブル スタイルでなければなりません。

TableStyleName が空の場合、テーブル スタイルはレポーターのテンプレートによって定義された既定のテーブル スタイル (グリッド) になります。

属性:

GetAccess
public
SetAccess
public

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

  • px — ピクセル (既定)

  • cm — センチメートル

  • in — インチ

  • mm — ミリメートル

  • pc — パイカ

  • pt — ポイント

属性:

GetAccess
public
SetAccess
public

テーブル スライスごとに表示する列の最大数。Inf または正の整数として指定します。このプロパティの値が Inf の場合、元のテーブルのすべての列が 1 つのテーブルに含められます。MaxCols 値がテーブル列の数以上であっても、すべての列を含む 1 つのテーブルが生成されます。大きなテーブル データ セットは判読できない場合があります。このプロパティを、ページに正しく収まる元のテーブルの列数に設定します。最適な値を決定するには、MaxCols 値の設定とレポートの表示を繰り返します。

属性:

GetAccess
public
SetAccess
public

スライスごとに繰り返す初期列の数。0 または正の整数として指定します。非ゼロの数値 n は、各スライスで元のテーブルの最初の n 列を繰り返します。MaxCols プロパティ値は RepeatCols プロパティ値を含みます。たとえば、MaxCols が 6 で RepeatCols が 2 の場合、各テーブル スライスには合計 6 つの列があり、最初の 2 つの列が元のテーブルから繰り返されます。

属性:

GetAccess
public
SetAccess
public

テーブル スライスのタイトルに適用するカスタム スタイルの名前。string または文字ベクトルとして指定します。指定するスタイルは、このレポーターが追加されるレポートで定義されていなければなりません。このプロパティが空 (''""、または []) の場合、スライス タイトルはレポーター テンプレートで定義されている既定のスタイルを使用します。

属性:

GetAccess
public
SetAccess
public

このレポーターのテンプレートのソース。次のいずれかの方法で指定します。

  • このレポーターのテンプレートを含むファイルのパスを指定する文字ベクトルまたは string スカラー

  • テンプレートがこのレポーターのために使用される、またはテンプレート ライブラリがこのレポーターのテンプレートを含むレポーターまたはレポート

  • テンプレートがこのレポーターのために使用される、またはテンプレート ライブラリがこのレポーターのテンプレートを含む DOM ドキュメントまたはドキュメント パーツ

指定するテンプレートは、このレポートを追加するレポートと同じタイプでなければなりません。たとえば、Microsoft® Word レポートでは、TemplateSrc は Word レポーター テンプレートでなければなりません。TemplateSrc プロパティが空の場合、このレポーターはレポートの出力タイプに既定のレポーター テンプレートを使用します。

このレポーターのテンプレートの名前。文字ベクトルまたは string スカラーとして指定します。このレポーターのテンプレートは、このレポーターの TemplateSrc プロパティで指定されたテンプレートのテンプレート ライブラリになければなりません。

データ型: string | char

このレポーターのハイパーリンク ターゲット。リンク ターゲット ID を指定する文字ベクトルもしくは string スカラー、または mlreportgen.dom.LinkTarget オブジェクトとして指定します。文字ベクトルまたは string スカラー値は LinkTarget オブジェクトに変換されます。リンク ターゲットは、出力レポートでこのレポーターのコンテンツの直前にあります。

テーブル エントリ更新のコールバック。関数ハンドルとして指定します。コールバック関数は、入力引数として mlreportgen.dom.TableEntry オブジェクトを受け入れます。BaseTable オブジェクトをレポートに追加すると、テーブルがレポートに追加される前に、テーブル エントリごとにコールバック関数が 1 回トリガーされます。この関数を使用し、エントリのコンテンツに基づいてテーブル エントリの外観をカスタマイズします。例については、PDF レポートのコンテンツでのテーブル エントリのカスタマイズを参照してください。

属性:

GetAccess
public
SetAccess
public

メソッド

すべて展開する

すべて折りたたむ

タイトル付きの 2 つのテーブルをレポートに追加します。最初のテーブルはランク 5 の魔方陣です。2 番目のテーブルには 2 つのイメージが含まれています。

次のコマンドを実行して、この例で使用されているサポート ファイルにアクセスします。

openExample('rptgen/MatlabReportGeneratorSupportFilesExample');
import mlreportgen.report.*
import mlreportgen.dom.*

rpt = Report("tables");
chapter = Chapter();
chapter.Title = "Table example";
add(rpt,chapter);

table = BaseTable(magic(5));
table.Title = "Rank 5 Magic Square";
add(rpt,table);

add(rpt,Paragraph());
imgSize = {Height("2in"),Width("2in")};
img1 = Image(which("b747.jpg"));
img1.Style = imgSize;
img2 = Image(which("peppers.png"));
img2.Style = imgSize;
table = BaseTable({"Boeing 747" "Peppers"; img1, img2});
table.Title = "Picture Gallery";
add(rpt,table);

delete(gcf);
rptview(rpt);

この例では、mlreportgen.report.BaseTable レポーターを使用するときに、エントリのコンテンツに基づいてテーブル エントリをカスタマイズする方法を示します。この例は、MATLAB® version R2022a 以降でのみ実行できます。

長い完全修飾クラス名を使用せずに済むよう、これらのパッケージをインポートします。

import mlreportgen.dom.*
import mlreportgen.report.*

学生の名前と成績を含むテーブルを作成します。

Student_names = ["Charlie","Sarah","John","Teena","Alfred","Emma","Bill","Tyler"]';
Student_grades = [83,42,75,98,78,49,91,88]';
studentsTable = FormalTable(["Student Name","Student Grade"],[Student_names,Student_grades]);
studentsTable.Header.Style{end+1} = BackgroundColor("silver");
studentsTable.Width = "250pt";

学生テーブルを使用して mlreportgen.dom.BaseTable レポーターを作成します。

baseTabReporter = BaseTable(studentsTable);

ファイル tabEntryUpdateCB.mlx で定義されているコールバック関数 tabEntryUpdateCB のハンドルをレポーターの TableEntryUpdateFcn プロパティに割り当てます。

コマンド ラインでコマンド edit tabEntryUpdateCB を使用して、コールバック関数のコードを表示します。

baseTabReporter.TableEntryUpdateFcn = @tabEntryUpdateCB;

PDF タイプの mlreportgen.dom.Report を作成し、ベース テーブル レポーターをレポートに追加します。

document = Report("Update_table_entries_example_report","pdf");
append(document,baseTabReporter);

レポートを閉じて表示します。

close(document);
rptview(document);

バージョン履歴

R2017b で導入