load($target_file); $sheet = $objPHPExcel->getSheet(0); // 取得所有資料列數 // 取得所有欄位行數 $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // 轉換 excel 欄位英文為數字 $highestColumn = PHPExcel_Cell::columnIndexFromString($highestColumn); $excelArray = array(); for ($row = 1; $row <= $highestRow; $row++) { // $val = $sheet->getCellByColumnAndRow(0, $row)->getCalculatedValue(); // 遇到整列空值跳出寫入陣列 $break_point = true; for ($column = 1; $column < $highestColumn; $column++) { $val = $sheet->getCellByColumnAndRow($column, $row)->getValue(); if (!empty($val)) { $break_point = false; break; } } if ($break_point) break; for ($column = 1; $column < $highestColumn; $column++) { $val = $sheet->getCellByColumnAndRow($column, $row)->getValue(); // 讀取 EXCEL 資料到陣列 $excelArray[$row][] = $val; } } for ($i = 1; $i < count($excelArray) + 1; $i++) { print_r($excelArray[$i]); echo "

"; // 寫入 account table if ($i > 1) { if (checkAccountStatus($link, $excelArray[$i])) { addAccount($link, $user_id, $excelArray[$i]); } } } mysqli_close($link); } } function checkContractStatus($link, $excelArray) { $contractno = $excelArray[0]; $sql = " SELECT * FROM contract_new_order WHERE 1=1 AND contractno = '$contractno'; "; $result = mysqli_query($link, $sql); if ($result->num_rows > 0) { return false; } else { return true; } } // INSERT INTO `contract_new_order` (`id`, `contracttype`, `contractno`, `facilityno`, `company`, `taxid`, `address`, `tel`, `promiser`, `customerid`, `contractperson`, `contractaddress`, `contracttel`, `contractemail`, `contract_employee`, `order_date`, `all_amount_details`, `all_amount`, `facility_kind`, `weight`, `numberofpassenger`, `numberofstop`, `numberoffloor`, `opentype`, `speed`, `creater`, `create_at`) VALUES (NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, CURRENT_TIMESTAMP) function checkAccountStatus($link, $excelArray) { $accountid = $excelArray[0]; $sql = " SELECT * FROM account WHERE 1=1 AND accountid = '$accountid'; "; $result = mysqli_query($link, $sql); if ($result->num_rows > 0) { return false; } else { return true; } } function nameToAccountid($link, $name) { $sql = " SELECT accountid FROM account WHERE accountid = '$name' "; $res = mysqli_query($link, $sql); while ($row = mysqli_fetch_row($res)) $name = $row[0]; mysqli_free_result($res); return $name; } function addAccount($link, $user_id, $excelArray) { $accounttype = 'A'; $accountid = $excelArray[0]; $pwd = empty($excelArray[23]) ? $excelArray[24] : $excelArray[23]; $name = $excelArray[22]; $tel = $excelArray[24]; $address = $excelArray[12]; $email = $excelArray[25]; $repairerid = nameToAccountid($link, $excelArray[2]); $creater = $user_id; $create_at = date("Y-m-d H:i:s"); $sql = " INSERT INTO `account` ( `accounttype`, `accountid`, `pwd`, `name`, `tel`, `address`, `email`, `repairerid`, `creater`, `create_at` ) VALUES ( '$accounttype', '$accountid', '$pwd', '$name', '$tel', '$address', '$email', '$repairerid', '$creater', '$create_at' ) "; mysqli_query($link, $sql); } ?>
" enctype="multipart/form-data">
資料