Heim >tägliche Programmierung >PHP-Kenntnisse >PHPExcel-Datenimport (Grafiken und Text)
PHPExcel ist eine PHP-Klassenbibliothek, die uns hilft, Excel-Daten einfach und effizient aus Excel zu lesen und Daten nach Excel zu exportieren.
Verwandte Videokurse: „PhpSpreadsheet zur schnellen Steuerung von Excel mit PHP“
Laden Sie zunächst das komprimierte Paket herunter:
http://www.php.cn/xiazai/leiku/1491
Nach der Dekomprimierung ist es wie folgt:
Erstellen Sie einen Test im Stammverzeichnis. Der Inhalt der Excel-Datei lautet wie folgt:
Dann lautet der test.php-Code wie folgt:
<?php header("content-type:text/html;charset=utf8"); include './Classes/PHPExcel/IOFactory.php';//引入PHPExcel类 $inputFileName = './test.xls';//读取的excel文件 date_default_timezone_set('PRC'); // 读取excel文件 try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch(Exception $e) { die('加载文件发生错误:"'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); } $sheet = $objPHPExcel->getSheet(0); $data=$sheet->toArray();//该方法读取不到图片 图片需单独处理 $imageFilePath='./images/'.date('Y-m-d').'/';//图片在本地存储的路径 if (! file_exists ( $imageFilePath )) { mkdir("$imageFilePath", 0777, true); } //处理图片 foreach($sheet->getDrawingCollection() as $img) { list($startColumn,$startRow)= PHPExcel_Cell::coordinateFromString($img->getCoordinates());//获取图片所在行和列 $imageFileName = $img->getCoordinates() . mt_rand(100, 999); switch($img->getMimeType()) { case 'image/jpg': $imageFileName.='.jpg'; imagejpeg($img->getImageResource(),$imageFilePath.$imageFileName); break; case 'image/gif': $imageFileName.='.gif'; imagegif($img->getImageResource(),$imageFilePath.$imageFileName); break; case 'image/png': $imageFileName.='.png'; imagepng($img->getImageResource(),$imageFilePath.$imageFileName); break; } $startColumn = ABC2decimal($startColumn);//由于图片所在位置的列号为字母,转化为数字 $data[$startRow-1][$startColumn]=$imageFilePath.$imageFileName;//把图片插入到数组中 } print_r($data);die;
function ABC2decimal($abc){ $ten = 0; $len = strlen($abc); for($i=1;$i<=$len;$i++){ $char = substr($abc,0-$i,1);//反向获取单个字符 $int = ord($char); $ten += ($int-65)*pow(26,$i-1); } return $ten; }
Der obige Code verarbeitet einfach das Bild, ruft den Bildpfad ab und fügt ihn in das Array ein. Wenn Sie die Daten in der Datenbank speichern müssen, können Sie die Einfügung schleifen und verarbeiten Sie es selbst. Das Druckergebnis ist wie folgt:
Das obige ist der detaillierte Inhalt vonPHPExcel-Datenimport (Grafiken und Text). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!