対応する入力/出力形式
先ほどのコードではExcel2007形式のファイルを出力しましたが、PHPExcelは他の入出力形式もサポートしています。
PHPExcelが対応しているファイルの形式
形式 | 引数パラメータ | 入力 | 出力 |
---|---|---|---|
Excel2007形式 | Excel2007 | ○ | ○ |
シリアライズ | Serialized | ○ | ○ |
CSV形式 | CSV | ○ | ○ |
BIFF5(Excel95)形式 | Excel5 | ○ | ○ |
HTML形式 | HTML | × | ○ |
PDF形式 | × | ○ |
様々な形式に対応しているのは喜ばしいことなのですが、筆者の環境ではBIFF5形式とPDF形式では思うように動作しないことがありました。そのため、Excel2007以外の形式では注意が必要になるかもしれません。
Excelファイルの読み込み
最後に、Excelファイルを読み込む方法を紹介します。ここでは下図のようなテンプレート(ひな形)を読み込みます。
このようなテンプレートを利用する理由は、全てプログラムからデザインするとコード量が大きくなってしまうためです。そこで、事前にテンプレートを作成しておき、変更が必要な箇所だけをプログラムで設定します。 コードは以下のようになります。
テンプレートを読み込んで出力するコード(インクルード等のコードは省略)
//(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のデータや帳票を出力する場合には、一度試してみてはいかがでしょうか。