Heim >Backend-Entwicklung >PHP-Tutorial >Thinkphp5+PHPExcel realisiert die Funktion des Batch-Uploads von Tabellendaten_php-Beispielen

Thinkphp5+PHPExcel realisiert die Funktion des Batch-Uploads von Tabellendaten_php-Beispielen

韦小宝
韦小宝Original
2017-12-04 11:38:112351Durchsuche

Dieser Artikel stellt hauptsächlich die Funktion des Stapel- Hochladens von Tabellendaten mit Thinkphp5+PHPExcel vor. Freunde, die sie benötigen, können darauf verweisen

1 PHPExcel. Gehen Sie zum Vendor-Ordner, mein Pfad ist: project/vendor/PHPExcel/, legen Sie die heruntergeladene PHPExcel-Datei hier ab

2. Front-End-Code


<!DOCTYPE html>
<html>
<head>
  <title>批量导入数据</title>
</head>
<body>
<form action="{:url(&#39;/index/index/importExcel&#39;)}" method="post" enctype="multipart/form-data">
  <input type="file" name="myfile"><br/>
  <input type="submit" value="批量的导入">
</form>
</body>
</html>


3. Backend-Code


/**
  * 导入表格数据
  * 先把文件上传到服务器,然后再读取数据存到数据库
  */
  public function importExcel(){
    header("content-type:text/html;charset=utf-8");
    //上传excel文件
    $file = request()->file(&#39;myfile&#39;);
    //移到/public/uploads/excel/下
    $info = $file->move(ROOT_PATH.&#39;public&#39;.DS.&#39;uploads&#39;.DS.&#39;excel&#39;);
    //上传文件成功
    if ($info) {
      //引入PHPExcel类
      vendor(&#39;PHPExcel.PHPExcel.Reader.Excel5&#39;);
      //获取上传后的文件名
      $fileName = $info->getSaveName();
      //文件路径
      $filePath = &#39;public/uploads/excel/&#39;.$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[&#39;name&#39;] = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();
        $data[&#39;tel&#39;] = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();
        $data[&#39;addr&#39;] = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();
        $last_id = Db::table(&#39;users&#39;)->insertGetId($data);//保存数据,并返回主键id
        if ($last_id) {
          echo "第".$j."行导入成功,users表第:".$last_id."条!<br/>";
        }else{
          echo "第".$j."行导入失败!<br/>";
        }
      }
    }else{
      echo "上传文件失败!";
    }
  }


Ausgabeergebnisse:


Hinweis:

Klasse von Drittanbietern einführen Bibliotheken zur Verwendung von Vendor(); liegen in der Form Namespace vor. Der zugrunde liegende Code ersetzt automatisch „/“, wenn Sie also „/“ verwenden.

Der obige Code kann kopiert und direkt verwendet werden, die datenbankbezogenen Informationen müssen jedoch vorhanden sein in Ihr eigenes geändert!

Zusammenfassung

Das Obige ist die vom Editor eingeführte Thinkphp5+PHPExcel-Funktion, um Tabellendaten stapelweise hochzuladen Helfen Sie allen. Wenn Sie Fragen haben, wenden Sie sich bitte an unsere Community-Fragen und Antworten.

Verwandte Empfehlungen:

So importieren Sie Daten ohne Aktualisierung mit ThinkPHP, Uploadify, Upload, PHPExcel

Ein Beispiel dafür, wie PHPExcel Excel importiert, um Big-Data-Code zu verarbeiten

Verwenden Sie PHPExcel, um Daten stapelweise hochzuladen

Das obige ist der detaillierte Inhalt vonThinkphp5+PHPExcel realisiert die Funktion des Batch-Uploads von Tabellendaten_php-Beispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn