PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

導入 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

導入

導入 – Excel ファイルを生成する方法

Spreadsheet_Excel_Writer って何?

Spreadsheet_Excel_Writer は、 COM コンポーネントを必要とせずに Excel ファイルを作成するためのツールです。 Spreadsheet_Excel_Writer の現行版によって生成されたファイルは、 Excel5(BIFF5) フォーマットに相当します。 したがって、そのバージョンのエクセルの持つ機能はすべて使用可能です (ただし、それ以降のバージョンの新機能は利用できません)。

使用法

Spreadsheet_Excel_Writer の一般的な使用法は、 膨大な (あるいはそれほどでもない) 量の情報をスプレッドシート形式に まとめ、そこらじゅうにあふれている Excel (あるいは OpenOffice) のような表計算プログラムで処理しやすくすることです。

それでは、実際どのように使用するのかを見てみましょう。

典型的な使用法

<?php
require_once 'Spreadsheet/Excel/Writer.php';

// ワークブックを作成します
$workbook = new Spreadsheet_Excel_Writer();

// HTTP ヘッダを送信します
$workbook->send('test.xls');

// ワークシートを作成します
$worksheet =& $workbook->addWorksheet('My first worksheet');

// データを書き込みます
$worksheet->write(00'Name');
$worksheet->write(01'Age');
$worksheet->write(10'John Smith');
$worksheet->write(1130);
$worksheet->write(20'Johann Schmidt');
$worksheet->write(2131);
$worksheet->write(30'Juan Herrera');
$worksheet->write(3132);

// ファイルを送信します
$workbook->close();
?>

ワークシートの前に、まずワークブックを作成したということに注意しましょう。 ワークシートはすべてワークブック内に含まれています。 また、ひとつのワークブックの中には複数のワークシートが含まれているかもしれません。

Spreadsheet_Excel_Writer を使用するプログラムを 書く際に注意すべき点がもうひとつあります。それは、ワークシートを 作成する際にアンパサンド符号 (&) を使用するということです。 アンパサンドは、ワークシートオブジェクトをコピーするのではなく その参照を使用するということを意味します。もし何のことだか さっぱりわからないとしても心配することはありません。 ワークシートを作成するために addWorksheet() をコールしたり 書式設定を作成するために addFormat() をコールしたりする際には必ずアンパサンドを使用する、とだけ 覚えておきましょう。

ファイルへの保存

さらに次の行が気になる人もいるでしょう。


// HTTP ヘッダを送信します
$workbook->send('test.xls');

これは、ブラウザにスプレッドシートを送信しているということを意味します。 単にスプレッドシートをマシン上に保存したいだけの場合には どうすればいいのでしょうか。そのためには、単にごの行を省略し、 その代わりに有効なファイルパスをワークブックのコンストラクタに 与えればよいのです。

たとえば、さきほどの例で作成したスプレッドシートを 'test.xls' という名前で保存したければ、以下のように記述します。

ファイルへの保存

<?php
require_once 'Spreadsheet/Excel/Writer.php';

// ファイルへのパスをここで指定します
$workbook = new Spreadsheet_Excel_Writer('test.xls');

$worksheet =& $workbook->addWorksheet('My first worksheet');

$worksheet->write(00'Name');
$worksheet->write(01'Age');
$worksheet->write(10'John Smith');
$worksheet->write(1130);
$worksheet->write(20'Johann Schmidt');
$worksheet->write(2131);
$worksheet->write(30'Juan Herrera');
$worksheet->write(3132);

// この場合でも、ワークブックを明示的に閉じる必要があります
$workbook->close();
?>

その他の教本

Spreadsheet_Excel_Writer の書式設定 (フォント・セルの色・文字の配置など) に関して学習したければ、 ここでフォーマット教本をチェックすることができます。

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「導入」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | 導入」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: