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");
?>

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