対応する入力/出力形式

先ほどのコードではExcel2007形式のファイルを出力しましたが、PHPExcelは他の入出力形式もサポートしています。

PHPExcelが対応しているファイルの形式

形式 引数パラメータ 入力 出力
Excel2007形式 Excel2007
シリアライズ Serialized
CSV形式 CSV
BIFF5(Excel95)形式 Excel5
HTML形式 HTML ×
PDF形式 PDF ×

様々な形式に対応しているのは喜ばしいことなのですが、筆者の環境ではBIFF5形式とPDF形式では思うように動作しないことがありました。そのため、Excel2007以外の形式では注意が必要になるかもしれません。

Excelファイルの読み込み

最後に、Excelファイルを読み込む方法を紹介します。ここでは下図のようなテンプレート(ひな形)を読み込みます。

Excel2007のテンプレートファイル(template.xlsx)

このようなテンプレートを利用する理由は、全てプログラムからデザインするとコード量が大きくなってしまうためです。そこで、事前にテンプレートを作成しておき、変更が必要な箇所だけをプログラムで設定します。 コードは以下のようになります。

テンプレートを読み込んで出力するコード(インクルード等のコードは省略)

//(1) Excel2007形式のファイルを読み込み
$reader = PHPExcel_IOFactory::createReader('Excel2007');
$xl = $reader->load("template.xlsx");

// セルの値を設定
$xl->getActiveSheet()->setCellValue('C5', '田中 太郎 様'); 
$xl->getActiveSheet()->setCellValue('C6', 'A0501'); 

// Excel2007形式で出力
$writer = PHPExcel_IOFactory::createWriter($xl, 'Excel2007');
$writer->save('output2.xlsx');

(1)の部分では、Excelファイルを読み込んでいます。createReaderメソッドを呼び出すことで、読み込みを担当するオブジェクトを取得できます。続けてloadメソッドを呼び出すことで、テンプレートを読み込んだPHPExcelオブジェクトを取得できます。

まとめ

以上、PHPExcelについて紹介してきました。このPHPExcelを利用すれば、簡単にExcel2007形式のファイルを生成できます。PHPからExcelのデータや帳票を出力する場合には、一度試してみてはいかがでしょうか。