=encoding euc-jp =head1 名前 HTML::Table - HTML テーブルを生成する =head1 概要 use HTML::Table; $table1 = new HTML::Table($rows, $cols); または、 $table1 = new HTML::Table(-rows=>26, -cols=>2, -align=>'center', -rules=>'rows', -border=>0, -bgcolor=>'blue', -width=>'50%', -spacing=>0, -padding=>0, -style=>'color: blue', -class=>'myclass', -head=> ['head1', 'head2'], -data=> [ ['1:1', '1:2'], ['2:1', '2:2'] ] ); または、 $table1 = new HTML::Table( [ ['1:1', '1:2'], ['2:1', '2:2'] ] ); $table1->setCell($cellrow, $cellcol, 'This is Cell 1'); $table1->setCellBGColor('blue'); $table1->setCellColSpan(1, 1, 2); $table1->setRowHead(1); $table1->setColHead(1); $table1->print; $table2 = new HTML::Table; $table2->addRow(@cell_values); $table2->addCol(@cell_values2); $table1->setCell(1,1, "$table2->getTable"); $table1->print; =head1 動作条件 Perl5.002 =head1 エクスポート なし =head1 説明 HTML::Table は、CGI スクリプトにおいて HTML テーブルを作成するために使います。提供されるメソッド群を使用することで、非常に複雑なテーブルの生成、操作、そして出力が Perl スクリプトで可能となります。このモジュールでは、テーブル中にテーブルを作成する作業も Perl から非常に簡単にできるようになります。HTML タグを使用することなく、このモジュールで提供されるメソッド群を使用するだけで全ての機能を備えるテーブルを生成することが可能です。 HTML::Table は、addRow と addCol メソッドを使用することで、動的にサイズの変わるテーブルを作成することも出来ます。つまり、そのときのテーブルセル数を超える値が渡された場合に、これらメソッドはそれに適合するよう自動的にテーブルをリサイズします。 HTML 3.0 で規定されているテーブルに関するほとんど全てのタグ群について、対応するメソッドが提供されています。 この文章の日本語訳は次で利用できます: http://member.nifty.ne.jp/hippo2000/perltips/html/table.htm (訳者(2)追記;このページは、次に移動されております http://homepage3.nifty.com/hippo2000/perltips/html/table.htm) =head1 メソッド群 角かっこ [ ] は、オプションのパラメータであることをを示しています。指定されない場合はデフォルト値が使われます。 row_num は、行数が必須であることを示しています。行は1から数えます。最後の行を参照するには、-1を使用します。 col_num は、列数が必須であることを示しています。列は1から数えます。最後の列を参照するには、-1を使用します。 =head2 生成 =over 4 =item new HTML::Table([num_rows, num_cols]) 新しいHTML テーブル オブジェクトを生成します。行数と列数が指定されれば、テーブルはそのサイズで初期化されます。行と列の数は 1, 1 から始まります。0, 0 は、空のテーブルと解釈されます。 =item new HTML::Table([ -rows=>num_rows, -cols=>num_cols, -border=>border_width, -align=>table_alignment, -style=>table_style, -class=>table_class, -bgcolor=>back_colour, -width=>table_width, -spacing=>cell_spacing, -padding=>cell_padding ]) 新しいHTML テーブル オブジェクトを生成します。行数と列数が指定されれば、テーブルはそのサイズで初期化されます。行と列の数は 1, 1 から始まります。0, 0 は、空のテーブルと解釈されます。 (訳者(2)追記:蛇足ですが、引数の訳も付けます; -row => (列の数) -cols => (行の数) -border=> (枠の太さ) -align=> (テーブル自体の水平表示位置) -style=> (スタイル) -class=> (クラス) -bgcolor=> (背景色) -width=> (テーブルの幅) -spacing=> (セル同士の間隔) -padding=> (セル内の余白) ) =back =head2 テーブルに関するメソッド群 =over 4 =item setBorder([pixels]) テーブル枠の太さを設定します。 =item setWidth([pixels|percentofscreen]) テーブルの幅を設定します。 $table->setWidth(500); または、 $table->setWidth('100%'); =item setCellSpacing([pixels]) テーブル内セル同士の間隔を設定します。 =item setCellPadding([pixels]) セル内の余白を設定します。 =item setCaption("CaptionText" [, TOP|BOTTOM]) テーブルの見出しを設定します。 =item setBGColor([colorname|colortriplet]) テーブルの背景色を設定します。 =item autoGrow([1|true|on|anything|0|false|off|no|disable]) setCell で渡された行数または列数が現在のテーブルサイズを超える時に、テーブルを自動的に拡げる機能を使用する(デフォルト)/使用しないと切り替えます。 =item setAlign ( [ LEFT , CENTER , RIGHT ] ) テーブルの水平方向表示位置を設定します。 =item setRules ( [ ROWS , COLS , ALL, BOTH , GROUPS ] ) テーブル内枠の有無を設定します。 =item setStyle ( 'css style' ) テーブルのスタイル属性を設定します。 =item setClass ( 'css class' ) テーブルのクラス属性を設定します。 =item setAttr ( 'user attribute' ) テーブルに、ユーザー定義の属性を設定します。HTML::Table で未だ提供されていない特殊な属性を設定するのに利用できます。 =item sort ( [sort_col_num, sort_type, sort_order, num_rows_to_skip] ) または sort( -sort_col => sort_col_num, -sort_type => sort_type, -sort_order => sort_order, -skip_rows => num_rows_to_skip, -strip_html => strip_html, -strip_non_numeric => strip_non_numeric, -presort_func => �&filter_func ) sort_type は、 { ALPHA | NUMERIC }で指定(アルファベット順/数字順)、 sort_order は、 { ASC | DESC }で指定(昇順/降順)、 strip_html は、 { 0 | 1 }で指定(デフォルトは1) strip_non_numeric は、 { 0 | 1 },(デフォルトは1) 指定された行で全ての列をソートします(オプションとして、 num_rows_to_skip で指定されたテーブル先頭列まではスキップされます)。 デフォルトの動作としてソートではHTMLタグと を無視しますが、 strip_html パラメーターを0にすることでこの動作は無効になります。 デフォルトの動作として数値の大小でのソートは数字以外の文字を無視しますが、 strip_non_numeric パラメーターを0にすることでこの動作は無効になります。 ソート前に関数を適用することができ、例えば日付等でソートする前にセル内容の前処理をする場合に利用できます。 =item getTableRows テーブルの行数を返します。 =item getTableCols テーブルの列数を返します。 =back =head2 セルに関するメソッド群 =over 4 =item setCell(row_num, col_num, "content") セルの内容を設定します。このことには任意の文字列、 getTable メソッド経由で他のテーブルオブジェクトですらも、可能です。指定した行・列がテーブル境界を越えている場合、自動的に行・列が拡げられます。 =item setCellAlign(row_num, col_num, [CENTER|RIGHT|LEFT]) セル内容の水平位置を設定します。 =item setCellVAlign(row_num, col_num, [CENTER|TOP|BOTTOM|MIDDLE|BASELINE]) セル内容の垂直位置を設定します。 =item setCellWidth(row_num, col_num, [pixels|percentoftable]) セルの幅を設定します。 =item setCellHeight(row_num, col_num, [pixels]) セルの高さを設定します。 =item setCellHead(row_num, col_num) セルを見出し項目にします(すなわち、
Start
'; print $table->getTable; print 'End
'; 以下と同様の出力を生成します; $table = new HTML::Table(2, 2); print "Start
$tableEnd
"; =item print テーブルのHTML表記を、 STDOUT に出力します。 =back =head1 クラス変数 =head1 HISTORY 歴史 This module was originally created in 1997 by Stacy Lacy and whose last version was uploaded to CPAN in 1998. The module was adopted in July 2000 by Anthony Peacock in order to distribute a revised version. This adoption took place without the explicit consent of Stacy Lacy as it proved impossible to contact them at the time. Explicit consent for the adoption has since been received. このモジュールは最初 Stacy Lacy によって1997年に作成され、最後のバージョンは1998年にCPANにアップロードされました。修正されたバージョンを配布するため、このモジュールを2000年7月に Anthony Peacockhe が引き継ぎました。この引継は Stacy Lacy の明確な同意無しに行われました、なぜならその時に彼らと連絡をとることが不可能であると分かったからです。この引継に対する明確な同意は、未だ得られていません。 =head1 AUTHOR 作者 (原文のまま) Anthony Peacock, a.peacock@chime.ucl.ac.uk Stacy Lacy (Original author) =head1 CONTRIBUTIONS 協力者 (原文のまま) Jay Flaherty, fty@mediapulse.com For ROW, COL & CELL HEAD methods. Modified the new method to allow hash of values. John Stumbles, john@uk.stumbles.org For autogrow behaviour of setCell, and allowing alignment specifications to be case insensitive Arno Teunisse, Arno.Teunisse@Simac.nl For the methods adding rules, styles and table alignment attributes. Ville Skytta, ville.skytta@iki.fi For general fixes Paul Vernaza, vernaza@stwing.upenn.edu For the setLast... methods David Link, dvlink@yahoo.com For the sort method Tommi Maekitalo, t.maekitalo@epgmbh.de For adding the 'head' parameter to the new method and for adding the initialisation from an array ref to the new method. =head1 COPYRIGHT 著作権 (原文のまま) Copyright (c) 2000-2003 Anthony Peacock, CHIME. Copyright (c) 1997 Stacy Lacy This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 SEE ALSO 関連項目 perl(1), CGI(3) =head1 Translators into Japanese 翻訳者 1) Previous ver.: oota (at itp.nec.co.jp) 2) Ver. 2.02: anahori (at users.sourceforge.jp) Japanized ?Perl?Resources? Project (http://sourceforge.jp/projects/perldocjp/) =cut