Heim  >  Artikel  >  Backend-Entwicklung  >  So importieren Sie Excel-Daten mit PHPExcel

So importieren Sie Excel-Daten mit PHPExcel

不言
不言Original
2018-07-04 15:05:014587Durchsuche

Dieser Artikel stellt hauptsächlich die Methode zum Importieren von Excel-Daten in PHPExcel vor. Jetzt kann ich ihn mit Ihnen teilen.

1: Verwenden Sie Composer, um PHPOffice herunterzuladen. phpexcel oder Laden Sie das Installationspaket direkt herunter

composer require phpoffice/phpexcel

Zwei

1: Daten importieren

Prinzip: Lesen Sie die Datei und erhalten Sie die maximale Zeile und Spalte der Datei. Anschließend stellen Sie die Daten zusammen und importieren sie in die Datenbank.

Hinweis: Wenn Ihre Excel-Datei verschlüsselt ist Ich habe wirklich viel Zeit damit verschwendet. Wenn jemand weiß, wie das gelöst wird, lassen Sie es mich bitte wissen weißt du. Danke.

Schauen wir uns an, wie man es im Detail implementiert

Implementierungsmethode

  public static function importExcel($file = '', $sheet = 0)
    {        
    $file = iconv("utf-8", "gb2312", $file);   //转码
        if (empty($file) OR !file_exists($file)) {            
        die('file not exists!');
        }        
        $objRead = new PHPExcel_Reader_Excel2007();   //建立reader对象
        if (!$objRead->canRead($file)) {            
        $objRead = new PHPExcel_Reader_Excel5();            
        if (!$objRead->canRead($file)) {                
        die('No Excel!');
            }
        }        
        $cellName = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',
            'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI',
            'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ'];        $obj = $objRead->load($file);  //建立excel对象
        $currSheet = $obj->getSheet($sheet);   //获取指定的sheet表
        $columnH = $currSheet->getHighestColumn();   //取得最大的列号
        $columnCnt = array_search($columnH, $cellName);        
        $rowCnt = $currSheet->getHighestRow();   //获取总行数

        $data = [];        
        for ($_row = 1; $_row <= $rowCnt; $_row++) {  //读取内容
            for ($_column = 0; $_column <= $columnCnt; $_column++) {                
            $cellId = $cellName[$_column] . $_row;                
            $cellValue = $currSheet->getCell($cellId)->getValue();                
            $data[$_row][$_column] = $cellValue;
            }
        }        $return_data = [];        
        foreach ($data as $k => $v) {            
        if ($k > 1) {                
        $test = array_combine($data[1], $data[$k]);                
        array_push($return_data, $test);
            }
        }        
        return $return_data;
    }

//Lite-Version

 public static function importExcel($file = &#39;&#39;, $sheet = 0)
    {        $file = iconv("utf-8", "gb2312", $file);   //转码
        if (empty($file) OR !file_exists($file)) {            
        die(&#39;file not exists!&#39;);
        }        $objRead = new PHPExcel_Reader_Excel2007();   //建立reader对象
        if (!$objRead->canRead($file)) {            
        $objRead = new PHPExcel_Reader_Excel5();            
        if (!$objRead->canRead($file)) {                
        die(&#39;No Excel!&#39;);
            }
        } 
        $obj = $objRead->load($file);  //建立excel对象
        $data =$obj->getSheet($sheet)->toArray();//获取为数组

        $return_data = [];        
        foreach ($data as $k => $v) {            
        if ($k > 0) {                
        $test = array_combine($data[0], $data[$k]);                
        array_push($return_data, $test);
            }
        } 
        return $return_data;
    }

Beachten Sie, dass das Lesen von PHP zu lange dauert, wenn die Datei zu groß ist. Wir können dies festlegen.

 set_time_limit(0);//0代表永久

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

So importieren Sie Daten aus PHP Excel in die MySQL-Datenbank

So entfernen Sie Stücklistenköpfe stapelweise aus Projektdateien in PHP

Das obige ist der detaillierte Inhalt vonSo importieren Sie Excel-Daten mit PHPExcel. 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