【ハウツー】
先ほどのコードではExcel2007形式のファイルを出力しましたが、PHPExcelは他の入出力形式もサポートしています。
PHPExcelが対応しているファイルの形式
| 形式 | 引数パラメータ | 入力 | 出力 |
|---|---|---|---|
| Excel2007形式 | Excel2007 | ○ | ○ |
| シリアライズ | Serialized | ○ | ○ |
| CSV形式 | CSV | ○ | ○ |
| BIFF5(Excel95)形式 | Excel5 | ○ | ○ |
| HTML形式 | HTML | × | ○ |
| PDF形式 | × | ○ |
様々な形式に対応しているのは喜ばしいことなのですが、筆者の環境ではBIFF5形式とPDF形式では思うように動作しないことがありました。そのため、Excel2007以外の形式では注意が必要になるかもしれません。
最後に、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のデータや帳票を出力する場合には、一度試してみてはいかがでしょうか。
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
『逆転裁判』初日舞台挨拶に成宮寛貴が登場!「ヤバイと思った」 [16:08 2/11] キャリア |
|
【エンタがビタミン♪】「少しでもキレイに見せたくて」。バナナマン日村のTシャツの下に隠された秘密。 [16:06 2/11] キャリア |
|
【イタすぎるセレブ達・番外編】全世界騒然! ビヨンセとJay-Zが、長女ブルー・アイヴィーちゃんの写真を初公開! [16:06 2/11] キャリア |
|
やっぱり黒髪美人!?黒髪のメリット&デメリット! [16:06 2/11] キャリア |
|
スバルBRZ&トヨタ86のアライメント調整はどうする? [16:05 2/11] キャリア |