テーブル エントリ コンテンツの水平方向の配置
この例では、DOM API の略式および形式的テーブルのテーブル エントリの水平方向の配置を指定する方法を説明します。この例では、すべてのテーブル エントリ、行内のエントリ、および個々のエントリの配置を設定する方法を示します。

ドキュメントとデータの設定
長い完全修飾クラス名を使用せずに済むよう、DOM 名前空間をインポートします。
import mlreportgen.dom.*PDF ドキュメントを作成して開きます。代わりに Word ドキュメントを作成するには、出力タイプを pdf から docx に変更します。代わりに HTML ドキュメントを作成するには、pdf を、複数ファイル ドキュメントの場合は html に、単一ファイル ドキュメントの場合は html-file にそれぞれ変更します。
d = Document("mydoc","pdf"); open(d);
テーブル、ヘッダー行、フッター行のスタイルを定義します。
tableStyle = { Width("80%"), ...
Border("solid"), ...
RowSep("solid"), ...
ColSep("solid") };
headerStyle = { BackgroundColor("LightBlue"), ...
Bold(true) };
footerStyle = { BackgroundColor("LightCyan"), ...
ColSep("none"), ...
WhiteSpace("preserve") };テーブルのヘッダー行、本体、フッター行のコンテンツを定義します。
headerContent = {'Item', 'Quantity', 'Cost'};
bodyContent = {'Table', 1, 55; ...
'Chair', 4, 100; ...
'Bookshelf', 2, 40};
total = sum([bodyContent{:,3}]);
footerContent = {[],'Total ',total};
tableContent = [headerContent; bodyContent];全テーブル エントリの配置の設定
最初のテーブルでは、1 つのテーブル プロパティを設定して、全テーブル エントリを中央揃えにします。
以前に定義されたコンテンツを使用して、mlreportgen.dom.Table オブジェクトを作成します。スタイルをテーブルとテーブルの最初の行に割り当てます。
append(d,Heading1("All Table Entries Centered"));
table = Table(tableContent);
table.Style = tableStyle;
firstRow = table.Children(1);
firstRow.Style = headerStyle;TableEntriesHAlign プロパティを "center" に設定して、全テーブル エントリの水平方向の配置を設定します。テーブルをドキュメントに追加します。
table.TableEntriesHAlign = "center";
append(d, table);テーブル行のエントリの配置の設定
次のテーブルでは、行の Style プロパティを変更して、一番上の行のテーブル エントリのみを中央揃えにします。
スタイルをテーブルとテーブルの最初の行に割り当てます。TableEntriesHAlign プロパティで水平方向の配置を設定する代わりに、HAlign オブジェクトを作成して、それを前に定義したヘッダー スタイルとともに、最初の行の Style プロパティに含めます。
append(d,Heading1("Top Row Entries Centered")); table = Table(tableContent); table.Style = tableStyle; firstRow = table.Children(1); firstRow.Style = [{HAlign("center")},headerStyle]; append(d,table);
テーブル行の Style プロパティでテーブル行に対して定義された配置は、TableEntriesHAlign プロパティでテーブル全体に対して定義された配置をオーバーライドします。
形式的テーブル ヘッダー、およびフッターの単一のエントリの配置の設定
最後のテーブルでは、mlreportgen.dom.FormalTable オブジェクトを使用して形式的テーブルを作成します。テーブル ヘッダー エントリを中央揃え、単一のフッター エントリを右揃えにします。
mlreportgen.dom.FormalTable オブジェクトを作成します。テーブル全体、ヘッダー、フッターのスタイルを設定します。FormalTable オブジェクトのヘッダーは本体とは別であるため、ヘッダー エントリの配置は、TableEntriesHAlign プロパティを使用して設定できます。本体やフッターのエントリに影響は生じません。あるいは、HAlign オブジェクトを行の Style プロパティに追加することもできます。
append(d, Heading1("Header Entries Centered, One Footer Entry Right-Aligned")); table = FormalTable(headerContent,bodyContent,footerContent); table.Style = tableStyle; table.Header.TableEntriesHAlign = "center"; table.Header.Style = headerStyle; footer = table.Footer; footer.Style = footerStyle;
エントリの Style プロパティに HAlign オブジェクトを含めて、フッターの 2 番目のエントリを右揃えにします。mlreportgen.dom.Bold オブジェクトを追加してエントリを太字にします。
totalEntry = entry(footer,1,2);
totalEntry.Style = {HAlign("right"),Bold(true)};
append(d,table);ドキュメントを閉じて表示します。
close(d); rptview(d);
参考
mlreportgen.dom.Table | mlreportgen.dom.FormalTable | mlreportgen.dom.HAlign