セルに数値と文字列のデータを書き込む(writeNumber, writeString)

広告

基本的なデータである数値と文字列のデータをセルに書き込む方法を確認します。(「writeメソッドもご確認下さい)。

セルに数値データを書き込むにはSpreadsheet_Excel_Writer_Worksheetクラスで用意されているwriteNumberメソッドを使います。

指定した行・列 (ゼロから数える) に数値を書き込みます。整数値はdouble型と
して書き込まれます。表示する際は整数として表示されます。正常に終了した場
合に 0、行や列が範囲を超えている場合に -2 を返します。

パラメータ:
  $row  書き込み先の行
  $col  書き込み先の列
  $token  書き込む数値
  $format  セルに適用する書式

1番目と2番目の引数で対象となるセルの行番号と列番号を指定します。3番目の引数でセルに書き込む数値を指定します。

次にセルに文字列データを書き込むにはSpreadsheet_Excel_Writer_Worksheetクラスで用意されているwriteStringメソッドを使います。

指定した行・列 (ゼロから数える) に文字列を書き込みます。注意: Excel 5で
定義されている 255 文字という制限があります。正常に終了した場合に 0、パ
ラメータが足りない場合に -1、行や列が範囲を超えている場合に -2、長い文
字列を 255 文字に切り詰めた場合に -3 を返します。

パラメータ:
  $row  書き込み先の行
  $col  書き込み先の列
  $token  書き込む文字列
  $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');
$worksheet->writeString(0, 0, 'バナナ');
$worksheet->writeNumber(0, 1, 80);
$workbook->close();
?>

サンプルプログラム

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

sample7-1.php

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

$workbook = new Spreadsheet_Excel_Writer('./sheet/sample7-1.xls');
$worksheet =& $workbook->addWorksheet('シート1');
$worksheet->writeString(0, 0, '文字列');
$worksheet->writeNumber(0, 1, 30.14);
$worksheet->writeString(1, 0, '100');
$worksheet->writeNumber(1, 1, 100);
$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/sample7-1.xls">Excelファイル</a></p>');
print('</body></html>');
?>

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

セルに数値と文字列のデータを書き込む(writeNumber, writeString)

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

セルに数値と文字列のデータを書き込む(writeNumber, writeString)

同じ「100」であっても文字列として書き込んだ場合と数値として書き込んだ場合では扱いが異なる点に注意して下さい。

( Written by Tatsuo Ikura )