PHP ExcelデータをMySQLデータベースにインポート
3900 ワード
データのエクスポートはすでにあって、どのようにデータのインポートがなくて、同じくTP 5のフレームワークを使って、まずphpexcelをダウンロードする必要があります.zip、サードパーティのクラスライブラリディレクトリvendorディレクトリの下に配置し、インポートするExcelファイルを選択し、インポートボタンをクリックしてインタフェースを呼び出すページがあります.
私のテンプレート内のデータは次の図のようになります.
バックエンドインタフェースコードは、public function uplExcel(Request KaTeX parse error:Expected'}',got'EOF'at end of input:...if(!empty(_FILES['excel'][name']){$fileName=$_FILES['excel'][name'];//ファイルのフルネームを得る$dotArray=explode('.',$fileName);//ファイル名をアンに区別し、配列t y p e=e n dに分割する( type = end( type=end(dotArray); if($type!="xls"&&&$type!="xlsx"){$ret[‘res’]="0";r e t[’m s g’]="E x c e lファイルではありませんので、再アップロードしてください!";r e t u r n j s o n e n c o d e(ret['msg']=「Excelファイルではありません.再アップロードしてください!」return json_encode(ret['msg']=「Excelファイルではありません.再アップロードしてください!」returnjsonencode(ret); }
私のテンプレート内のデータは次の図のようになります.
バックエンドインタフェースコードは、public function uplExcel(Request KaTeX parse error:Expected'}',got'EOF'at end of input:...if(!empty(_FILES['excel'][name']){$fileName=$_FILES['excel'][name'];//ファイルのフルネームを得る$dotArray=explode('.',$fileName);//ファイル名をアンに区別し、配列t y p e=e n dに分割する( type = end( type=end(dotArray); if($type!="xls"&&&$type!="xlsx"){$ret[‘res’]="0";r e t[’m s g’]="E x c e lファイルではありませんので、再アップロードしてください!";r e t u r n j s o n e n c o d e(ret['msg']=「Excelファイルではありません.再アップロードしてください!」return json_encode(ret['msg']=「Excelファイルではありません.再アップロードしてください!」returnjsonencode(ret); }
// ,
$uploaddir = "../uploads2/" . date("Y-m-d") . '/';//
if (!file_exists($uploaddir)) {
mkdir($uploaddir, 0777, true);
}
$path = $uploaddir . md5(uniqid(rand())) . '.' . $type; //
//$path = "images/".$fileName; // ;
// tmp_name
move_uploaded_file($_FILES['excel']['tmp_name'], $path); //
$file_path = $path;
if (!file_exists($path)) {
$ret['res'] = "0";
$ret['msg'] = " !" . $_FILES['excel']['error'];
return json_encode($ret);
}
//
$ext = strtolower(pathinfo($path, PATHINFO_EXTENSION));
if ($ext == 'xlsx') {
$objReader = \PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($file_path, 'utf-8');
} elseif ($ext == 'xls') {
$objReader = \PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($file_path, 'utf-8');
}
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); //
$highestColumn = $sheet->getHighestColumn(); //
$ar = array();
$i = 0;
$importRows = 0;
for ($j = 2; $j <= $highestRow; $j++) {
$importRows++;
$realName = (string)$objPHPExcel->getActiveSheet()->getCell("A$j")->getValue();// realName
$phone = (string)$objPHPExcel->getActiveSheet()->getCell("B$j")->getValue(); // phone
$company = (string)$objPHPExcel->getActiveSheet()->getCell("C$j")->getValue(); // company
$job = (string)$objPHPExcel->getActiveSheet()->getCell("D$j")->getValue(); // job
$email = (string)$objPHPExcel->getActiveSheet()->getCell("E$j")->getValue(); // email
$ret['mdata'] = $this->addMemb($phone, $realName, $company, $job, $email);// ,
if ($ret['mdata'] && !is_Bool($ret['mdata'])) {
$ar[$i] = $ret['mdata'];
$i++;
}
}
if ($i > 0) {
$ret['res'] = "0";
$ret['errNum'] = $i;
$ret['allNum'] = $importRows;
$ret['sucNum'] = $importRows - $i;
$ret['mdata'] = $ar;
$ret['msg'] = " !";
return json_encode($ret);
}
$ret['res'] = "1";
$ret['allNum'] = $importRows;
$ret['errNum'] = 0;
$ret['sucNum'] = $importRows;
$ret['mdata'] = " !";
return json_encode($ret);
} else {
$ret['res'] = "0";
$ret['msg'] = " !";
return json_encode($ret);
}