行の高さと書式を設定(setRow)

広告

ここからは再びワークシートに対する操作について確認していきます。

指定した行に対する高さを設定する方法を確認します。行の高さの設定を行うにはSpreadsheet_Excel_Writer_Worksheetクラスで用意されているsetRowメソッドを使います。

行に対して高さ及び書式を設定します。

パラメータ:
  $row  設定する行
  $height  行の高さ
  $format  行に設定する書式

1番目に対象となるギュ尾の番号を指定します。そして2番目引数で行の高さを設定します。単位は(推測ですが)ポイントです(確証がありません)。

3番目の引数をオプションで行に対する書式を設定することができます。ただ設定しても反映が行われませんでした。

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

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

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

$worksheet =& $workbook->addWorksheet('シート1');
$worksheett->setRow(1, 20);

$worksheet->writeString(0, 0, "こんにちは", $format);
$workbook->close();
?>

サンプルプログラム

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

sample27-1.php

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

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

$worksheet->setRow(1, 20);
$worksheet->setRow(2, 40);

$worksheet->writeString(1, 1, 'バナナ');
$worksheet->writeNumber(1, 2, 120);
$worksheet->writeString(2, 1, 'トマト');
$worksheet->writeNumber(2, 2, 86);
$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/sample27-1.xls">Excelファイル</a></p>');
print('</body></html>');
?>

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

行の高さと書式を設定(setRow)

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

行の高さと書式を設定(setRow)

行の高さが変更されていることが確認できます。(微妙に設定した値と異なるのは、単位がポイントでないのか、それとも指定したポイントを超えないピクセル数を計算し、そのピクセルに対するポイントが設定されているのかいずれかではないかと推測しています)。

( Written by Tatsuo Ikura )