ワークシートの追加(addWorksheet)

広告

実際のデータを表示するのはワークシートに対してとなります。ワークブックには少なくとも1つのワークシートが含まれている必要があり、また複数のワークシートをワークブックに追加することが可能です。

ワークブックにワークシートを追加するにはSpreadsheet_Excel_Writer_Workbookクラスで用意されているaddWorksheetメソッドを使います。

Excel ワークブックに新しいワークシートを追加します。もし名前を指定しなか
った場合は、ワークシート名は Sheeti になります (i には 1、2、3、…が入り
ます)。

パラメータ:
  $name  ワークシートの名前 (オプション)。31 文字より長い名前は指定でき
    ません。

戻り値:
  成功した場合にワークシートオブジェクトへのリファレンス、失敗した場合に
    PEAR_Errorを返します。

ワークシートをワークブックに追加し、作成したワークシート(Spreadsheet_Excel_Writer_Worksheetクラスのオブジェクト)に対する参照を返します。1番目の引数にはワークシートの名前を指定して下さい。

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

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

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

$worksheet1 =& $workbook->addWorksheet('シート1');
$worksheet2 =& $workbook->addWorksheet('シート2');

$workbook->close();
?>

ワークシートオブジェクトそのものではなく、ワークシートオブジェクトへの参照を返す点に注意して下さい。

サンプルプログラム

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

sample5-1.php

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

$workbook = new Spreadsheet_Excel_Writer('./sheet/sample5-1.xls');
$worksheet1 =& $workbook->addWorksheet('シート1');
$worksheet2 =& $workbook->addWorksheet('シート2');
$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/sample5-1.xls">Excelファイル</a></p>');
print('</body></html>');
?>

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

ワークシートの追加(addWorksheet)

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

ワークシートの追加(addWorksheet)

ワークシートが2つ追加され、それぞれのシート名が引数で指定した名前になっていることが確認できます。

( Written by Tatsuo Ikura )