in
PHP
- 13 11月, 2013
PHP入門 その6
今回はExcel操作について学んでいきます。
PHPではデフォルトでExcelを操作することは出来ません。なので、ライブラリを導入する必要があります。
ライブラリはいくつか種類がありますが、今回はPHPExcelを使用していきます。
PHPExcelの導入は簡単です。
ここから(http://phpexcel.codeplex.com/releases/view/107442)ダウンロードしてきたものを
解凍し、好きな場所に置くだけです。
簡単なExcelファイル作成をしてみましょう。
<?php set_include_path(get_include_path().PATH_SEPARATOR.$_SERVER["DOCUMENT_ROOT"]."/Classes/"); include_once 'PHPExcel.php'; include_once 'PHPExcel/IOFactory.php'; //Excel新規作成 $excel = new PHPExcel(); //n番目のシートをアクティブにする(0から) $excel ->setActiveSheetIndex(0); //アクティブにしたシートの情報取得 $sheet = $excel -> getActiveSheet(); $price = 1000; $num = 3; //セルに値挿入 $sheet -> setCellValue("A1", "タイトル"); $sheet -> setCellValue("B2", date("y/m/d")); $sheet -> setCellValue("C3", 5000*5); $sheet -> setCellValue("D4", $price * $num); //Excelの保存 $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); $writer -> save("sample.xlsx"); ?>
Excelファイル作成は非常に簡単です。
まず、PHPExcelライブラリをインクルードします。
//インクルードディレクトリを一時的に設定 set_include_path(); //現在のインクルードディレクトリを取得 get_include_path(); //区切り文字 PATH_SEPARATOR; //現在実行されているPHPファイルが存在するドキュメントルートディレクトリ $_SERVER["DOCUMENT_ROOT"]; //1回だけ読み込む include_once;
次にPHPExcelのインスタンスを生成し、Excelファイルの設定をしていきます。
//インスタンス生成 new PHPExcel(); //使用したいシートを選択。1シート目は0。 setActiveSheetIndex(); //シートのオブジェクト取得 getActiveSheet();
そしてセルに値を挿入していきます。
//指定されたセルに値を挿入 setCellValue('セル番号', 値); //列番号は0から。行番号は1から setCellValueByColumnAndRow(列番号, 行番号, 値);
最後にExcelファイルを保存して終了です。
//保存形式にはいくつか種類がある。Excel以外にもPDFやCSVがある。 //Excel2007:Excel2007形式(.xlsx) //Excel5:Excel95形式(.xls) PHPExcel_IOFactory::createWriter(PHPExcelインスタンス, '保存形式'); //名前をつけて保存 save("ファイル名");
これだけでExcelファイルを作成することが出来ます。