PHPExcelを使ってExcelの中身を取得する
Excelの中身をサーバサイド側(PHP)を通して取得したいというちょっとした
仕事がありましたので、PHPExcel導入からExcel中身の取得までの流れを
簡単にまとめておきます。
Pearでは提供されていないみたいなので、
PHPExcel公式サイトから最新版のPHPExcelをダウンロードします。
最新版のバージョンは1.79ですね(2013.11.26時点)
ダウンロードしたPHPExcelを解凍し、その中にある「Classes」ディレクトリを
サーバのディレクトリ構成にあわせて適宜配置します。
XAMPPの場合 デフォルトでは「\php\PEAR」がインクルード可能なディレクトリになっているかと思います。
<?php //ライブラリのインクルード set_include_path('XXXX\xampp\php\PEAR\Classes'); include 'PHPExcel.php'; include 'PHPExcel/IOFactory.php' // xlsファイルを読み込む $obj = PHPExcel_IOFactory::load("sample.xls"); // 読み込みたいシートを設定する $sheet = $obj->setActiveSheetIndex(0); // 読み込みたいシート名を参照したい場合は以下のように設定 //$sheet = $obj->setActiveSheetIndexByName("シート名"); // 行イテレータ取得 $sheetData = array(); foreach ($sheet->getRowIterator() as $row) { $tmp = array(); // 列イテレータ取得 foreach ($row->getCellIterator() as $cell) { // セルの値取得 $tmp[] = $cell->getValue(); } $sheetData[] = $tmp; } ?>
とこんな感じで、Excelの中身を取得することができます。
もちろんExcelへ書き込むこともできちゃいます。
帳票を作るとか様々な用途が使えそうですね。