相關關鍵詞
關于我們
最新文章
PHP讀取Excel類文件

想要使用PHP讀取Excel文件必然要用到PHPExcel開源類庫,網(wǎng)上資源應該挺多的。但是每一種的操作必然都是不同的,可原理應該都是大同小異。
這個文件夾里包含的就是PHPExcel類文件
,在外面還有一個入口PHP文件
處理機制: 1.讀取Excel文件
2.獲取最大行號和最大列號
3.通過行數(shù)循環(huán)里面嵌套列數(shù)循環(huán)來用特殊符號拼接每個小表格里面的數(shù)據(jù)得到一個字符串
4.然后使用explode拆分函數(shù)將字符串拆分后就得到了一個二維數(shù)組(即表格里面的數(shù)據(jù))。
代碼示例
$path = "/wamp/www/xiong/hadf"; if(is_dir($path)){ echo "存在"; }else{ mkdir($path, 0777, true); echo "chuangji"; } require_once"./PHPExcel.php"; $filePath = "./1233.xlsx"; $PHPReader = new PHPExcel_Reader_Excel2007(); if(!$PHPReader->canRead($filePath)) { $PHPReader = new PHPExcel_Reader_Excel5(); if(!$PHPReader->canRead($filePath)) { echo 'no Excel'; exit; } } $PHPExcel = $PHPReader->load($filePath); /**讀取excel文件中的第一個工作表*/ $currentSheet = $PHPExcel->getSheet(0); /**取得最大的列號*/ $allColumn = $currentSheet->getHighestColumn(); // echo $allColumn;exit; /**取得一共有多少行*/ $allRow = $currentSheet->getHighestRow(); /**從第二行開始輸出,因為excel表中第一行為列名*/ $val = ''; for($currentRow = 1; $currentRow <= $allRow; $currentRow++) { /**從第A列開始輸出*/ for($currentColumn = 'A'; $currentColumn <= $allColumn; $currentColumn++) { $val .= $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow);//->getValue();/**ord()將字符轉為十進制數(shù)*/ $val .= "&%|%&"; /**如果輸出漢字有亂碼,則需將輸出內容用iconv函數(shù)進行編碼轉換,如下將GBK編碼轉為UTF-8編碼輸出*/ //$val .= iconv('GBK','UTF-8', $val); } $val .= "\n"; }$member_info_arr = explode("\n", $val); unset($member_info_arr[count($member_info_arr) - 1]); $present_time = date("Y-m-d H:i:s"); if(count($member_info_arr) <= 0) { sys_msg_json(0, "會員信息文件中無數(shù)據(jù),請?zhí)砑?); } unset($member_info_arr[0]); // var_dump($member_info_arr);exit; foreach ($member_info_arr as $key => $val) { $arr[$key] = explode("&%|%&",$val); } // var_dump($arr);exit; foreach ($arr as $key => $val) { unset($arr[$key][2]); } var_dump($arr);