您好,登錄后才能下訂單哦!
小編給大家分享一下PHP讀取Excel類文件的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1、執行速度快。2、具有很好的開放性和可擴展性。3、PHP支持多種主流與非主流的數據庫。4、面向對象編程:PHP提供了類和對象。5、版本更新速度快。6、具有豐富的功能。7、可伸縮性。8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
想要使用PHP讀取Excel文件必然要用到PHPExcel開源類庫,網上資源應該挺多的。但是每一種的操作必然都是不同的,可原理應該都是大同小異。
這個文件夾里包含的就是PHPExcel類文件
,在外面還有一個入口PHP文件
處理機制: 1.讀取Excel文件
2.獲取最大行號和最大列號
3.通過行數循環里面嵌套列數循環來用特殊符號拼接每個小表格里面的數據得到一個字符串
4.然后使用explode拆分函數將字符串拆分后就得到了一個二維數組(即表格里面的數據)。
代碼示例
$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()將字符轉為十進制數*/ $val .= "&%|%&"; /**如果輸出漢字有亂碼,則需將輸出內容用iconv函數進行編碼轉換,如下將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, "會員信息文件中無數據,請添加"); } 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);
以上是“PHP讀取Excel類文件的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。