想總結下PHPExcel的讀取excel到數組的function,用的時候直接調取,懶……php
參考瞭如下連接:html
http://www.jb51.net/article/29071.htm數組
http://www.cnblogs.com/mingaixin/p/4746454.htmlui
感謝二位大神!編碼
直接上代碼吧:spa
<?php /** * User: Klaus * Date: 2016/4/8 15:46 */ //聲明編碼,防止中文亂碼 header("Content-type: text/html; charset=utf-8"); //引入PHPExcel require "PHPExcel_1.8.0_doc/Classes/PHPExcel.php"; echo '07版:',PHP_EOL; var_dump(excel2arr('TEST.xlsx'));//07版 echo '03版:',PHP_EOL; var_dump(excel2arr('TEST.xls'));//03版 function excel2arr($filePath){ // Check prerequisites if (!file_exists($filePath)) { exit("not found $filePath.\n"); } //默認用excel2007讀取excel,若格式不對,則用以前的版本進行讀取 $reader = new PHPExcel_Reader_Excel2007(); if(!$reader->canRead($filePath)){ $reader = new PHPExcel_Reader_Excel5(); if(!$reader->canRead($filePath)){ return 'no Excel'; } } $PHPExcel = $reader->load($filePath); // 載入excel文件 $sheet = $PHPExcel->getSheet(0); // 讀取第一個工做表 $highestRow = $sheet->getHighestRow(); // 取得總行數 $highestColumm = $sheet->getHighestColumn(); // 取得總列數 $highestColumm= PHPExcel_Cell::columnIndexFromString($highestColumm); //字母列轉換爲數字列 如:AA變爲27 /** 循環讀取每一個單元格的數據 */ for ($row = 1; $row <= $highestRow; $row++){//行數是以第1行開始 for ($column = 0; $column < $highestColumm; $column++) {//列數是以第0列開始 $columnName = PHPExcel_Cell::stringFromColumnIndex($column); // echo $sheet->getCellByColumnAndRow($column, $row)->getValue()." "; $excelarr[$row][] = $sheet->getCellByColumnAndRow($column, $row)->getValue(); } } return $excelarr; } ?>
結果以下:.net
增長:excel
將列的數字序號轉成字母使用,代碼以下: 複製代碼 代碼以下: PHPExcel_Cell::stringFromColumnIndex($i); // 從o開始 將列的字母轉成數字序號使用,代碼以下: 複製代碼 代碼以下: PHPExcel_Cell::columnIndexFromString('AA');