PHPExcelでエクセルファイルを読み込む方法。忘れないようにメモ。
PHPExcelの本体は公式サイトからダウンロードして適当な所に配置。
以下の場合は、読み込むphpと同階層に置いた。
PHPExcelでエクセルファイルを読み込む
◆htmlのフォームタグ◆
<form action="./read.php" method="post" enctype="multipart/form-data">
<input type="file" name="upload_file" size="30" />
<input type="hidden" name="mode" value="upload" />
<input type="submit" value="アップロード" />
</form>
◆excelファイルを読み込む(read.phpソース)◆
//ライブラリ読み込み(PHPExcelバージョン1.7.8)
require_once './Classes/PHPExcel.php';
require_once './Classes/PHPExcel/IOFactory.php';
if ($_POST{'mode'} == "upload") {
//Excel読み込み
$filepath = $_FILES["upload_file"]["tmp_name"];
// xlsファイルの場合(↓)
$objReader = PHPExcel_IOFactory::createReader('Excel5');
// xlsxのファイルの場合(↓)
//$xlsReader = PHPExcel_IOFactory::createReader('Excel2007');
$xlsObject = $objReader->load($filepath);
// 読み込むシートの指定(シートの左から0,1,2・・・の順)
$xlsObject->setActiveSheetIndex(0);
$xlsSheet = $xlsObject->getActiveSheet();
$sheetTitle = "prefecture";
// 指定シートの行毎に読み込む
$line_cnt = 0;
foreach ($xlsSheet->getRowIterator() as $row) {
$xlsCell = $row->getCellIterator();
$xlsCell->setIterateOnlyExistingCells(true);
// セル行毎に読み込む
$cell_cnt = 0;
foreach ($xlsCell as $cell) {
$read_data[$sheetTitle][$line_cnt][$cell_cnt] = $cell->getCalculatedValue();
$cell_cnt++;
}
$line_cnt++;
}
}
var_dump($read_data);
◆結果◆
