Der Datenimport ist an vielen Stellen erforderlich. Wie führt man den Datenimport mit ThinkPhp5.1 durch?
1 Vorbereitung
Der Editor implementiert den Datenimport über PHPExcel, daher müssen Sie vor der Produktion zunächst PHPExcel-bezogene Komponenten herunterladen. Derzeit unterstützt tp5.1 die Composer-Installation und der Editor hat die PHPExcel-Komponente über Composer installiert. [Empfohlen:thinkphp-Video-Tutorial]
Vor der Installation müssen Sie zunächst sicherstellen, dass Sie die Composer-Komponente auf Ihrem Computer haben. Wenn Composer noch nicht installiert ist, können Sie den folgenden Befehl unter Linux und Mac OS X ausführen:
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
Unter Windows müssen Sie Composer-Setup.exe herunterladen und ausführen, Download-Adresse:
https://www.kancloud.cn/manual/thinkphp5_1/353948
Nach der Installation von Composer müssen Sie PHPExcel installieren , win+R, öffnen Führen Sie die Schnittstelle aus, geben Sie cmd ein, rufen Sie die Verwaltungsschnittstelle auf, geben Sie den Laufwerksbuchstaben ein, in dem sich Ihr Projekt befindet (hier nehmen Sie das Laufwerk D als Beispiel, das Projekt befindet sich in D:phpstudy_proWWWmyapp.io) und Klicken Sie dann auf Eingabe:
Eingabe: cd D: phpstudy_proWWWmyapp.io, suchen Sie das Verzeichnis, in dem sich das Projekt befindet
Der nächste Schritt besteht darin, das PHPExcel-Plug-in zu installieren, geben Sie ein: Composer erfordert phpoffice/phpexcel , klicken Sie auf die Eingabetaste, um mit der Installation von PHPExcel zu beginnen.
2 Front-End-Einreichungsseite
html
js
3 Hintergrundverarbeitung
Hier ist ein Beispiel für das Hochladen einer Mitgliederinformationstabelle. Die Feldwerte umfassen Hrsg sind: Name (Name), Geschlecht (Sex), Mitgliedschaftstyp (Type_ID), ID-Nummer (Identität), Mitgliedsnummer (Nummer), Kontaktnummer (Telefon), Sortierung (Sortierung), Mitgliedsstatus (Status).
//上传excel文件 $file = Request::param('file'); //获取文件路径 $filePath = Env::get('root_path').'public'.DIRECTORY_SEPARATOR.$file; if($filePath == ''){ return ['res'=>0,'msg'=>'你上传的文件为空']; } $suffix = $this->DbSy->GetFileExt($file); //判断哪种类型 if($suffix=="xlsx"){ $reader = \PHPExcel_IOFactory::createReader('Excel2007'); }else{ $reader = \PHPExcel_IOFactory::createReader('Excel5'); } //载入excel文件 $excel = $reader->load("$filePath",$encode = 'utf-8'); //读取第一张表 $sheet = $excel->getSheet(0); //获取总行数 $row_num = $sheet->getHighestRow(); //获取总列数 $col_num = $sheet->getHighestColumn(); $time = time(); $data = []; //数组形式获取表格数据 $count = 0; $total = 0; $error_count = 0; for ($i = 2; $i <= $row_num; $i ++) { $type_id = Request::param('type_id'); $data['type_id'] = $type_id; $name = $sheet->getCell("A".$i)->getValue(); $sex = $sheet->getCell("B".$i)->getValue(); $identity = $sheet->getCell("C".$i)->getValue(); $telephone = $sheet->getCell("F".$i)->getValue(); $data['sort'] = $this->DbSy->getSort(5,'sort desc',array('type_id'=>$type_id)); if(!$identity){ return ['res'=>0,'msg'=>'身份证号不能为空']; } $data['identity'] = $identity; if(!$name){ return ['res'=>0,'msg'=>'姓名不能为空']; } $data['name'] = $name; if($sex=='男'){ $data['sex'] = 1; }elseif ($sex=='女'){ $data['sex'] = 2; }else{ $data['sex'] = 3; } $data['identity'] = $identity; $data['number'] = $this->DbSy->getNumber(5,'sort desc',array('type_id'=>$type_id)); if($telephone){ $data['telephone'] = $telephone; }else{ $data['telephone'] = ''; } $data['status'] = 5; $member = $this->DbSy->FindWhere(5,array('name'=>$name,'identity'=>$identity,'type_id'=>$type_id)); if($member){ /*$data['updatetime'] = time();*/ $info = $this->DbSy->editContent(5,$data,array('id'=>$member['id'])); if($info){ $total++; } }else{ // 读取单元格 $data['addtime'] = time(); $data['updatetime'] = time(); $info = $this->DbSy->insertGetId(5,$data); if($info){ $count++; }else{ $error_count++; } } } $msg = "成功导入".$count."条数据,重复".$total."条数据,导入失败".$error_count."条数据"; if($count > 0){ return ['res'=>1,'msg'=>$msg]; }else{ return ['res'=>0,'msg'=>$msg]; }
Das Obige ist die Zusammenfassung aller Prozesse zum Importieren von Informationen mit TP5.1+PHPExcel. Ich hoffe, dass es für alle hilfreich ist.
Das obige ist der detaillierte Inhalt vonThinkPhp5.1 + PHPExcel-Produktionsdatenimport. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!