書式の登録(addFormat)

広告

セルに対してデータを書き込む際に書式を設定することが出来ます。書式を設定するにはまず書式をワークブックに対して登録を行い、その際に作成されたSpreadsheet_Excel_Writer_Formatクラスのオブジェクト(への参照)をwriteメソッドなどの引数に指定する必要があります。

書式の登録を行うにはSpreadsheet_Excel_Writer_Workbookクラスで用意されているaddFormatメソッドを使います。

Excel ワークブックに新しい書式を追加します。さらに任意のフォーマットプロ
パティを書式のコンストラクタに渡します。有効なプロパティは下記の通りです。

パラメータ:
  $properties  書式の初期化の為のプロパティの配列を指定します

戻り値:
  Excel の書式へのリファレンスを返します

書式として設定可能なプロパティは多数あり、1番目の引数には設定したい書式プロパティをキーとする連想配列を作成し設定します。メソッドを実行すると戻り値として作成された書式への参照を返します。

指定可能な書式プロパティを次の通りです。

Align
Bold
Bottom
Top
Left
Right
Border
BorderColor
BottomColor
TopColor
RightColor
LeftColor
FgColor
BgColor
Color
Pattern
Underline
TextRotation
Size
NumFormat
Script

addFormatメソッドでまとめて書式プロパティを設定することも可能ですが、各プロパティ毎に個別に設定を行うメソッドも用意されています。各プロパティの使い方は次のページ以降で各プロパティに対応するメソッドを使って解説します。

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

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

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

$format =& $workbook->addFormat(array('Size'=>10,
                                      'Align'=>'center'));

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

サンプルプログラム

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

sample12-1.php

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

$workbook = new Spreadsheet_Excel_Writer('./sheet/sample12-1.xls');

$format1 =& $workbook->addFormat(array('Size'=>10,
                                      'Align'=>'center'));
$format2 =& $workbook->addFormat(array('Size'=>15,
                                      'Color'=>'blue'));

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

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

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

書式の登録(addFormat)

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

書式の登録(addFormat)

それぞれのセルに書式が設定されていることが確認できます。

( Written by Tatsuo Ikura )