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ファイルを作成することが出来ます。



