この記事では主に PHP Excel から MySQL データベースにデータをインポートする方法を紹介します。これには一定の参考値があります。ここで共有します。必要な友人は参考にしてください
推奨される関連する mysql ビデオ チュートリアル: "mysql チュートリアル"
データ エクスポートはすでに利用可能ですが、データ インポートができないわけはありませんか? また、TP5 フレームワークを使用すると、まず次のことが必要になります。 phpexcel .zip をダウンロードするには、それをサードパーティのライブラリ ディレクトリのベンダー ディレクトリに置きます。その後、インポートする Excel ファイルを選択できるページが表示され、インポート ボタンをクリックして呼び出します。インターフェイス:
私のテンプレートのデータは次のとおりです:
バックエンド インターフェイスのコードは次のとおりです。以下:
public function uplExcel(Request $request) { if (!empty($_FILES['excel']['name'])) { $fileName = $_FILES['excel']['name']; //得到文件全名 $dotArray = explode('.', $fileName); //把文件名安.区分,拆分成数组 $type = end($dotArray); if ($type != "xls" && $type != "xlsx") { $ret['res'] = "0"; $ret['msg'] = "不是Excel文件,请重新上传!"; return json_encode($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); } }
上記はこの記事の全内容です。皆様の学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
関連する推奨事項:
PHP では、同じ値を持つ配列で新しい配列インスタンスを形成して、
以上がPHP Excel から MySQL データベースにデータをインポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。