セルの垂直配置の設定(setVAlign)
セルの中でデータを表示する時に、垂直方向の配置方法を設定します。垂直方向の配置を設定するにはSpreadsheet_Excel_Writer_Formatクラスで用意されているsetVAlignメソッドを使います。
void setVAlign(string $location)
セルの配置を設定します。 パラメータ: $location セルの配置方法を表す文字列
1番目の引数にセルの垂直方向の配置方法を表す文字列を指定して下さい。指定できる値は次のいずれかです。
top 上詰め vcenter 中央揃え bottom 下詰め vjustify 両端揃え vequal_space 均等割り付け
実際には次のように記述します。
<?php require_once("Spreadsheet/Excel/Writer.php"); $workbook = new Spreadsheet_Excel_Writer(); $workbook->send('sample1-1.xls'); $format =& $workbook->addFormat(); $format->setVAlign('vcenter'); $worksheet =& $workbook->addWorksheet('シート1'); $worksheet->writeString(0, 0, "こんにちは", $format); $workbook->close(); ?>
これはaddFormatメソッドで次のように記述した場合と同じです。
<?php require_once("Spreadsheet/Excel/Writer.php"); $workbook = new Spreadsheet_Excel_Writer(); $workbook->send('sample1-1.xls'); $format =& $workbook->addFormat(array('Align'=>'vcenter')); $worksheet =& $workbook->addWorksheet('シート1'); $worksheet->writeString(0, 0, "こんにちは", $format); $workbook->close(); ?>
addFormatメソッドでプロパティを指定する場合は「Align」プロパティに対して値を設定します。
サンプルプログラム
では簡単なサンプルで試してみます。
<?php require_once("Spreadsheet/Excel/Writer.php"); $workbook = new Spreadsheet_Excel_Writer('./sheet/sample18-1.xls'); $worksheet =& $workbook->addWorksheet('シート1'); $worksheet->setRow(0, 45); $worksheet->setRow(1, 45); $format1 =& $workbook->addFormat(); $format1->setVAlign('top'); $format2 =& $workbook->addFormat(); $format2->setVAlign('vcenter'); $format3 =& $workbook->addFormat(); $format3->setVAlign('bottom'); $format4 =& $workbook->addFormat(); $format4->setVAlign('vjustify'); $format5 =& $workbook->addFormat(); $format5->setVAlign('vequal_space'); $worksheet->writeString(0, 0, 'ab', $format1); $worksheet->writeString(0, 1, 'ab', $format2); $worksheet->writeString(0, 2, 'ab', $format3); $worksheet->writeString(1, 0, '東京都千代田区大手町', $format4); $worksheet->writeString(1, 1, '東京都千代田区大手町', $format5); $workbook->close(); print('<html>'); print('<head>'); print('<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />'); print('</head>'); print('<body>'); print('<p><a href="./sheet/sample18-1.xls">Excelファイル</a></p>'); print('</body></html>'); ?>
上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。
作成されたExcelファイルへのリンクが表示されます。リンクからExcelファイルをローカルに保存しExcelで開いて下さい。
今回のサンプルでは垂直方向の配置を分かりやすくするために行の高さを設定しています。行の高さの設定方法は別のページで詳しく確認します。
( Written by Tatsuo Ikura )