這篇文章介紹的內容是關於PHP處理excel檔案資料,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
文章主要記錄如何使用PHPexcel外掛程式對excel檔案進行處理的過程,僅作備忘使用,如外掛程式下載遇到問題,可以留言,謝謝瀏覽。下面是筆記內容:
1、引入excel外掛程式檔案
require_once('./PhpSpreadsheet/vendor/autoload.php');
2、擷取excel表資料內容
//建立檔案讀取類對象$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader("Xlsx"); /** Advise the Reader that we only want to load cell data **///設定為唯讀模式$reader->setReadDataOnly(true);/** Load $inputFileName to a Spreadsheet Object **///負載檔案路徑,路徑為絕對路徑$spreadsheet = $reader->load($file_path);//擷取excel表中有多少個sheet$sheetNum = $spreadsheet->getSheetCount();$sheetData = [];$temp = [];//只擷取活躍的sheet//$temp = $spreadsheet->getSheetActive()->toArray(null, true, true, true);//遍曆每一個sheet,擷取裡面的資料內容for($i = 0; $i < $sheetNum; $i++){ $temp = $spreadsheet->getSheet($i)->toArray(null, true, true, true); foreach ($temp as $v) { if(is_float($v['A'])){ $sheetData[] = $v; } }}
輸出格式內容如下:
var_dump($sheetData);/* 'A' => float 41746 'B' => string '玉雪嬋娟' (length=12) 'C' => float 236979210 'D' => string '353343073072008' (length=15) 'E' => float 41740 'F' => null*/
3、擷取資料中自己覺得有用的部分:
//擷取excel表中的資料記錄$excel_records$temp = [];$excel_records = [];foreach ($sheetData as $v){ //strtotime(gmdate("Y-m-d", ($sheetData[$i]['F'] -25569) * 86400)) //將表格中的時間字串轉為時間格式 $temp['date'] = gmdate("Y-m-d", ($v['A'] -25569) * 86400);//2018年擷取為2014年,尚不明原因 $temp['drname'] = $v['B']; $temp['uid'] = $v['C']; $temp['imei'] = $v['D']; $temp['reg_date'] = $v['E']; $excel_records[] = $temp;}
後續直接對資料進行處理即可。