Cet article présente principalement la fonction de téléchargement par lots de données de table à l'aide de Thinkphp5+PHPExcel. Les amis qui en ont besoin peuvent s'y référer
1. PHPExcel. Allez dans le dossier du fournisseur, mon chemin est : project/vendor/PHPExcel/, placez le fichier PHPExcel téléchargé ici
2. Code frontal
<!DOCTYPE html> <html> <head> <title>批量导入数据</title> </head> <body> <form action="{:url('/index/index/importExcel')}" method="post" enctype="multipart/form-data"> <input type="file" name="myfile"><br/> <input type="submit" value="批量的导入"> </form> </body> </html>
3. Code backend
/** * 导入表格数据 * 先把文件上传到服务器,然后再读取数据存到数据库 */ public function importExcel(){ header("content-type:text/html;charset=utf-8"); //上传excel文件 $file = request()->file('myfile'); //移到/public/uploads/excel/下 $info = $file->move(ROOT_PATH.'public'.DS.'uploads'.DS.'excel'); //上传文件成功 if ($info) { //引入PHPExcel类 vendor('PHPExcel.PHPExcel.Reader.Excel5'); //获取上传后的文件名 $fileName = $info->getSaveName(); //文件路径 $filePath = 'public/uploads/excel/'.$fileName; //实例化PHPExcel类 $PHPReader = new \PHPExcel_Reader_Excel5(); //读取excel文件 $objPHPExcel = $PHPReader->load($filePath); //读取excel文件中的第一个工作表 $sheet = $objPHPExcel->getSheet(0); $allRow = $sheet->getHighestRow(); //取得总行数 //$allColumn = $sheet->getHighestColumn(); //取得总列数 //从第二行开始插入,第一行是列名 for ($j=2; $j <= $allRow; $j++) { $data['name'] = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue(); $data['tel'] = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue(); $data['addr'] = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue(); $last_id = Db::table('users')->insertGetId($data);//保存数据,并返回主键id if ($last_id) { echo "第".$j."行导入成功,users表第:".$last_id."条!<br/>"; }else{ echo "第".$j."行导入失败!<br/>"; } } }else{ echo "上传文件失败!"; } }
Résultats de sortie :
Remarque :
Introduire une classe tierce les bibliothèques à utiliser supplier(); se présentent sous la forme de espace de noms . Le code sous-jacent remplacera automatiquement "." par "/", donc lorsque vous utilisez "/", utilisez "." changé par le vôtre !
RésuméCe qui précède est la fonction Thinkphp5+PHPExcel introduite par l'éditeur pour implémenter le téléchargement par lots de données de table, j'espère que ce sera le cas. utile à tout le monde Aide, si vous avez des questions, veuillez les poser dans notre communauté Q&A.
Recommandations associées :
Comment importer des données sans actualiser à l'aide de ThinkPHP, uploadify, upload, PHPExcel
Un exemple de la façon dont phpexcel importe Excel pour traiter le code Big DataUtilisez PHPExcel pour télécharger des données par lotsCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!