Heim >Backend-Entwicklung >PHP-Tutorial >So importieren Sie Excel-Daten mit PHPExcel
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 = '', $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!'); } } $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!