セルの水平配置の設定(setHAlign)

広告

セルの中でデータを表示する時に、水平方向の配置方法を設定します。水平方向の配置を設定するにはSpreadsheet_Excel_Writer_Formatクラスで用意されているsetHAlignメソッドを使います。

セルの配置を設定します。

パラメータ:
  $location  セルの配置方法を表す文字列

1番目の引数にセルの水平方向の配置方法を表す文字列を指定して下さい。指定できる値は次のいずれかです。

left         左詰め
center       中央揃え
right        右詰め
fill         繰り返し
justify      両端揃え
merge        選択範囲内で中央
equal_space  均等割り付け

実際には次のように記述します。

<?php
require_once("Spreadsheet/Excel/Writer.php");

$workbook = new Spreadsheet_Excel_Writer();
$workbook->send('sample1-1.xls');

$format =& $workbook->addFormat();
$format->setHAlign('center');

$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'=>'center'));

$worksheet =& $workbook->addWorksheet('シート1');
$worksheet->writeString(0, 0, "こんにちは", $format);
$workbook->close();
?>

addFormatメソッドでプロパティを指定する場合は「Align」プロパティに対して値を設定します。

サンプルプログラム

では簡単なサンプルで試してみます。

sample17-1.php

<?php
require_once("Spreadsheet/Excel/Writer.php");

$workbook = new Spreadsheet_Excel_Writer('./sheet/sample17-1.xls');
$worksheet =& $workbook->addWorksheet('シート1');

$format1 =& $workbook->addFormat();
$format1->setHAlign('left');
$format2 =& $workbook->addFormat();
$format2->setHAlign('center');
$format3 =& $workbook->addFormat();
$format3->setHAlign('right');
$format4 =& $workbook->addFormat();
$format4->setHAlign('fill');
$format5 =& $workbook->addFormat();
$format5->setHAlign('justify');
$format6 =& $workbook->addFormat();
$format6->setHAlign('merge');
$format7 =& $workbook->addFormat();
$format7->setHAlign('equal_space');

$worksheet->writeString(0, 0, 'ab', $format1);
$worksheet->writeString(1, 0, 'ab', $format2);
$worksheet->writeString(2, 0, 'ab', $format3);
$worksheet->writeString(3, 0, 'ab', $format4);
$worksheet->writeString(0, 1, '東京都千代田区大手町', $format5);
$worksheet->writeString(1, 1, 'ab', $format6);
$worksheet->writeString(2, 1, 'ab c de', $format7);
$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/sample17-1.xls">Excelファイル</a></p>');
print('</body></html>');
?>

上記のファイルをWWWサーバのドキュメントルート以下に設置しブラウザからアクセスすると次のように表示されます。

セルの水平配置の設定(setHAlign)

作成されたExcelファイルへのリンクが表示されます。リンクからExcelファイルをローカルに保存しExcelで開いて下さい。

セルの水平配置の設定(setHAlign)

( Written by Tatsuo Ikura )