PHPExcel の使い方

とある案件で、ウェブサイトの表示データをExcel形式(xlsx)で出力(ダウンロード)できるようにして欲しいと注文があった。

どうしようかと思っていたら、ちょうどいいライブラリがあったので、使用方法ともどもメモ。

PHPExcel

使用したライブラリは「PHPExcel」。

名前の通り、ピュアPHPで作られたライブラリ。

最新版は、以下よりダウンロードできる。

GitHub – PHPOffice/PHPExcel
https://github.com/PHPOffice/PHPExcel

PHPExcelの使い方

インストールから実際にExcelを出力するまでの一部始終。

  1. ダウンロードしたZipファイルの中身をサーバーに置く。
    (例:./phpexcel/)

    PHPExcel解凍後のファイル構成イメージ
    大体こんな感じのファイルが入ってる

  2. ライブラリの読み込みは、以下のコードを記入する。

    <?php
    // ライブラリの読み込み
    require_once ("/./phpexcel/Classes/PHPExcel.php");
    require_once ("/./phpexcel/Classes/PHPExcel/IOFactory.php");
    ?>

  3. 実際にファイルを作成し、データを書き込むには以下のコードを記入する。

    <?php
    // 新規ファイル作成準備
    $excel = new PHPExcel();
    $sheet = $excel->getActiveSheet();
    
    // データの設定
    $sheet->setCellValue('A1', 'TEST');
    
    // Excelファイルの出力準備
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment;filename="[filename].xlsx"');
    
    // Excekファイルの出力(ダウンロード)
    $writer = PHPExcel_IOFactory::createWriter($excel, "Excel2007");
    $writer->save('php://output');
    
    // 以下は絶対必須!!
    exit;
    ?>

さいごのexit;がないと、ダウンロードファイルが破損したりするので注意。

まとめ

すごくザックリ書いたけど、基本はこんな感じ。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください