涉及相關知識點:
①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;}