テキストの方向を設定(setTextRotation)

広告

セル内で表示されるテキストの向きを設定できます。向きの設定を行うにはSpreadsheet_Excel_Writer_Formatクラスで用意されているsetTextRotationメソッドを使います。

テキストの方向を設定します。

パラメータ:
  $angle  テキストの回転角度

1番目の引数にはテキストの方向を表すテキストの回転角度を指定します。指定できる値は0, 90, 180, -1で時計周りに回転します。0を指定した場合は左から右、90を指定した場合は上から下、270を指定した場合は下から上へ向かってテキストが表示されます。-1を指定した場合も上から下ですがこの場合は縦書きで表示されます。

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

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

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

$format =& $workbook->addFormat();
$format->setTextRotation(90);

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

サンプルプログラム

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

sample25-1.php

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

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

$format1 =& $workbook->addFormat();
$format1->setTextRotation(0);
$format2 =& $workbook->addFormat();
$format2->setTextRotation(90);
$format3 =& $workbook->addFormat();
$format3->setTextRotation(270);
$format4 =& $workbook->addFormat();
$format4->setTextRotation(-1);

$worksheet->writeString(0, 1, '東京都', $format1);
$worksheet->writeString(1, 1, '大阪府', $format2);
$worksheet->writeString(0, 3, '愛知県', $format3);
$worksheet->writeString(1, 3, '千葉県', $format4);
$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/sample25-1.xls">Excelファイル</a></p>');
print('</body></html>');
?>

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

テキストの方向を設定(setTextRotation)

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

テキストの方向を設定(setTextRotation)

( Written by Tatsuo Ikura )