本篇文章主要介紹如何使用PHP讀取excel檔案內容即每個儲存格資料,希望對大家有所協助。
涉及相關知識點:
①PHPExcel 是用來操作Office Excel 文檔的一個PHP類庫,它基於微軟的Openxml標準和PHP語言。可以使用它來讀取、寫入不同格式的試算表。
②time() 返回目前時間的秒數的函數,用來擷取當前的系統時間
③require_once 為了避免重複負載檔案即負載檔案一次
④array() 建立數組
⑤memory_get_usage() php內建函數能返回當前分配給PHP指令碼的記憶體量,使用它來調試PHP代碼效能
⑥var_dump() 用來列印數組,或者輸出字串
php讀取excel檔案,並進行相應處理的具體方法
程式碼範例如下:
<?php/*讀取excel檔案,並進行相應處理*/$fileName = "url.xls";if (!file_exists($fileName)) { exit("檔案".$fileName."不存在");}$startTime = time(); //返回目前時間的Unix 時間戳記require_once './PHPExcel/IOFactory.php';$objPHPExcel = PHPExcel_IOFactory::load($fileName);//擷取sheet表格數目$sheetCount = $objPHPExcel->getSheetCount();//預設選中sheet0表$sheetSelected = 0;$objPHPExcel->setActiveSheetIndex($sheetSelected);//擷取表格行數$rowCount = $objPHPExcel->getActiveSheet()->getHighestRow();//擷取表格列數$columnCount = $objPHPExcel->getActiveSheet()->getHighestColumn();echo "<div>Sheet Count : ".$sheetCount." 行數: ".$rowCount." 列數:".$columnCount."</div>";$dataArr = array();/* 迴圈讀取每個儲存格的資料 *///行數迴圈for ($row = 1; $row <= $rowCount; $row++){//列數迴圈 , 列數是以A列開始for ($column = 'A'; $column <= $columnCount; $column++) { $dataArr[] = $objPHPExcel->getActiveSheet()->getCell($column.$row)->getValue(); echo $column.$row.":".$objPHPExcel->getActiveSheet()->getCell($column.$row)->getValue()."<br />";}echo "<br/>消耗的記憶體為:".(memory_get_peak_usage(true) / 1024 / 1024)."M";$endTime = time();echo "<div>解析完後,當前的時間為:".date("Y-m-d H:i:s")." 總共消耗的時間為:".(($endTime - $startTime))."秒</div>";var_dump($dataArr);$dataArr = NULL;}