本篇文章主要介紹了php上傳excel表格並擷取資料的相關知識。具有很好的參考價值。下面跟著小編一起來看下吧
一:首先是html部分
<html><body><form action="upload_file.php" method="post" enctype="multipart/form-data"><input type="file" name="file" id="file" /> <input type="submit" name="submit" value="Submit" /></form></body></html>
二:就是去接收和處理上傳的檔案了。php部分
//檔案存放的路徑$save_path = "/upload/"; //檔案存放的檔案夾$save_files = $this->geturl();這個是以年月日建立的檔案夾,僅供參考。//先檢查當前檔案夾是否存在,如不存在,建立檔案夾function geturl(){$year = date('Y');$month= date('m');$day= date('d');$str = $year.$month.$day;if(strtoupper(substr(PHP_OS,0,3))=='WIN'){$path = getcwd() . "/upload/".$str;}else{$path = "/mnt/erp/".$str;}if(!file_exists($path))//判斷檔案夾是否存在{mkdir($path);}//return $path."/";return $str."/";}//這個是上傳檔案到需要儲存的位置,if (!@move_uploaded_file($_FILES[$upload_name]["tmp_name"], $save_path.$file_path)) {$error = "error|上傳檔案錯誤.";exit(0);}
下面開始擷取你上傳的excel資料了
//擷取上傳表格的資料$file_name = $save_path.$file_path; //擷取上傳檔案的位址名稱require_once APPPATH . 'views/IDC/config/PHPExcel.php'; require_once APPPATH . 'views/IDC/config/PHPExcel/IOFactory.php';require_once APPPATH . 'views/IDC/config/PHPExcel/Cell.php';$objReader = PHPExcel_IOFactory::createReader('excel2007'); //建立reader對象$objPHPExcel = $objReader->load($file_name);$sheet = $objPHPExcel->getSheet();$highestRow = $sheet->getHighestDataRow(); // 取得總行數$highestColumn_num = PHPExcel_Cell::columnIndexFromString($sheet->getHighestDataColumn()); //列數//$columns = PHPExcel_Cell::getColumn($highestColumn_num);$columns = array('A','B','C','D','E','F','G');$arr_result = array();$dealer_element = array();for ($j = 2; $j <= $highestRow; $j++) {for ($k = 0; $k < count($columns); $k++) {//讀取儲存格$value = $objPHPExcel->getActiveSheet()->getCell($columns[$k] . $j)->getValue();//這個就是擷取每個儲存格的值$value = trim($value);if (empty($value)) {$value = NULL;}$dealer_element[$k] = $value;//這裡可以根據要求,做一些資料的驗證}$arr_result[$j] = $dealer_element;}echo json_encode($arr_result);
以上就是本文的全部內容,希望對大家的學習有所協助。