セルの配置の設定(setAlign)
セル内の水平方向の配置はsetHAlignメソッドを使い、垂直方向の配置にはsetVAlignメソッドを使いましたが、水平及び垂直の区別なく配置方法を設定することができます。セルの配置を設定するにはSpreadsheet_Excel_Writer_Formatクラスで用意されているsetAlignメソッドを使います。
void setAlign(string $location)
セルの配置を設定します。 パラメータ: $location セルの配置方法を表す文字列
1番目の引数にセルの配置方法を表す文字列を指定して下さい。水平及び垂直のいずれの値でも設定できますが、同時に二つは指定できないため水平と垂直の両方の配置を設定するにはsetAlignメソッドを2回呼び出す必要があります。
実際には次のように記述します。
<?php require_once("Spreadsheet/Excel/Writer.php"); $workbook = new Spreadsheet_Excel_Writer(); $workbook->send('sample1-1.xls'); $format =& $workbook->addFormat(); $format->setAlign('center'); $format->setAlign('vcenter'); $worksheet =& $workbook->addWorksheet('シート1'); $worksheet->writeString(0, 0, "こんにちは", $format); $workbook->close(); ?>
これはaddFormatメソッドではAlignプロパティに対しては1つしか値を設定できないため、水平か垂直のいずれかの配置方法しか設定できません。
サンプルプログラム
では簡単なサンプルで試してみます。
<?php require_once("Spreadsheet/Excel/Writer.php"); $workbook = new Spreadsheet_Excel_Writer('./sheet/sample19-1.xls'); $worksheet =& $workbook->addWorksheet('シート1'); $worksheet->setRow(0, 45); $format1 =& $workbook->addFormat(); $format1->setAlign('top'); $format1->setAlign('center'); $format2 =& $workbook->addFormat(); $format2->setAlign('vcenter'); $format2->setAlign('right'); $worksheet->writeString(0, 0, '東京都', $format1); $worksheet->writeString(0, 1, '大阪府', $format2); $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/sample19-1.xls">Excelファイル</a></p>'); print('</body></html>'); ?>
上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。
作成されたExcelファイルへのリンクが表示されます。リンクからExcelファイルをローカルに保存しExcelで開いて下さい。
( Written by Tatsuo Ikura )