【ハウツー】

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

2 Excelファイルの出力

    青木淳夫  [2009/03/06]

    Excelファイルの出力

    それでは、Excelファイルを出力するプログラムを見ていきましょう。ここでは、1st.phpというファイルを作成します。日本語が含まれているため、UTF-8形式で保存します。

    シンプルなExcelファイルを出力するコード

    <?php
    
    //(1)必要なクラスをインクルード
    set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/');
    include 'PHPExcel.php';
    include 'PHPExcel/IOFactory.php';
    
    //(2)PHPExcelオブジェクトの生成
    $xl = new PHPExcel();
    
    //(3)シートの設定
    $xl->setActiveSheetIndex(0);
    $sheet = $xl->getActiveSheet();
    $sheet->setTitle('シート1です');
    
    //(4)セルの値を設定
    $sheet->setCellValue('A1', 'PHPExcelテスト'); //文字列
    $sheet->setCellValue('B2', 123);              //数値
    $sheet->setCellValue('C3', '=B2-100');        //計算式
    $sheet->setCellValue('D4', true);             //真偽値
    $sheet->setCellValue('E5', false);            //真偽値
    
    //(5)スタイルの設定(標準フォント、罫線、中央揃え)
    $sheet->getDefaultStyle()->getFont()->setName('MS Pゴシック');
    $sheet->getDefaultStyle()->getFont()->setSize(11);
    $sheet->getStyle('C3')->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
    $sheet->getStyle('C3')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    
    //(6)Excel2007形式で保存
    $writer = PHPExcel_IOFactory::createWriter($xl, 'Excel2007');
    $writer->save("output.xlsx");
    
    ?>

    ブラウザから実行すると、PHPファイルと同じフォルダに次のExcelファイルが出力されます。

    実行結果(output.xlsx)

    コードの説明

    コードの内容を簡単に見ていきましょう。

    (1)の部分では、Classesフォルダ配下のクラスを使うためにインクルードをしています。
    (2)では、PHPExcelクラスをインスタンス化しています。このPHPExcelクラスは、Excelブックを表す重要なクラスです。このクラスを介してワークシートやドキュメントのプロパティ等を操作します。
    (3)ではワークシートの名前を設定しています。getActiveSheetメソッドから返されるPHPExcel_Worksheetクラスは、Excelのワークシートを表します。このワークシートにはセル/図/グラフ等が含まれます。
    (4)では、セルに値(文字列、数値、計算式、真偽値)を設定しています。setCellValueメソッドでは、セルの位置と値を指定できます。
    (5)では、フォント/罫線/中央揃えといったスタイルを設定しています。get(Default)Styleメソッドから返されるPHPExcel_Styleクラスを使って、フォントや色といったスタイルを変更できます。
    (6)では、これまで設定してきた内容をExcelファイルとして出力しています。ファイル出力を担うオブジェクトは、PHPExcel_IOFactoryクラスのcreateWriterメソッドから取得します。createWriterメソッドの引数には「PHPExcelオブジェクト」と「出力形式の名前(次ページの表の引数パラメータ列参照)」を指定します。最後にsaveメソッドを呼び出すことで、指定したパスにファイルを出力することができます。

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

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