Cet article présente principalement la méthode d'importation de données Excel dans PHPExcel. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
1 : Utilisez composer pour télécharger phpoffice/. phpexcel ou Téléchargez directement le package d'installation
composer require phpoffice/phpexcel
Deux
1 : Importer des données
Principe : Lire le fichier et obtenir le maximum de lignes et de colonnes du fichier. Assemblez ensuite les données et importez-les dans la base de données.
Remarque : Si votre fichier Excel est crypté, il ne peut pas être lu. J'ai vraiment perdu beaucoup de temps là-dessus. Si quelqu'un sait comment résoudre ce problème, faites-le moi savoir. sais. Merci.
Voyons comment l'implémenter en détail
Méthode d'implémentation
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; }
//Version Lite
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; }
Notez que si le fichier est trop volumineux, PHP mettra trop de temps à lire, nous pouvons le paramétrer.
set_time_limit(0);//0代表永久
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Comment importer des données de PHP Excel vers la base de données MySQL
Comment supprimer par lots les en-têtes de nomenclature des fichiers de projet dans PHP
Ce 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!