【ハウツー】

PHPExcelを使ってPHPでExcelファイルを出力する

3 Excelファイルの読み込み

    青木淳夫  [2009/03/06]

    対応する入力/出力形式

    先ほどのコードでは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のデータや帳票を出力する場合には、一度試してみてはいかがでしょうか。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン