PHP如何读取Excel内的图片

  介绍

小编给大家分享一下PHP如何读取Excel内的图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

PHP的框架有哪些

PHP的框架:1,Laravel, Laravel是一款免费并且开源的PHP应用框架。2,Phalcon, Phalcon是运行速度最快的一个PHP框架。3,Symfony, Symfony是一款为Web项目准备的PHP框架。4,Yii, Yii是一款快速、安全和专业的PHP框架。5,CodeIgniter, CodeIgniter是一款非常敏捷的开源PHP框架。6,CakePHP, CakePHP是一款老牌的PHP框架1:8)。Kohana, Kohana是一款敏捷但是功能强大的PHP框架。

分别使用phpspreadsheet和PHPExcel扩展库来实现读取Excel内图片的功能:

 PHP如何读取Excel内的图片”>,</p> <p> <强> phpspreadsheet </强> </p> <p>首先安装phpspreadsheet,由于线上服务器PHP版本是PHP5.6,所以需要安装兼容PHP5.6的版本,这里安装1.8.2版本</p> <pre类= composer  require  phpoffice/phpspreadsheet=1.8.2

然后就可以在项目里使用了

use 细胞phpoffice \ phpspreadsheet \ \协调;   use  PhpOffice \ PhpSpreadsheet \ IOFactory;=$ imageFilePath  & # 39;。/上传/一/& # 39;,,//图片本地存储的路径   if  (! file_exists (imageFilePath美元)),{,//如果目录不存在则递归创建   ,mkdir (imageFilePath美元,,0777,,真的);   }   try  {   ,inputFileName 美元;=,& # 39;。/文件/1. xlsx& # 39;,,//包含图片的Excel文件   ,objRead 美元;=,IOFactory: createReader (& # 39; Xlsx& # 39;);   美元,美元objSpreadsheet =, objRead→负载($ inputFileName);   美元,美元objWorksheet =, objSpreadsheet→getSheet (0);   美元,美元data =, objWorksheet→toArray ();   美元,foreach  (objWorksheet→getDrawingCollection (), as 画美元),{   列表才能(startColumn美元,,startRow美元),=,协调:coordinateFromString(图→美元getCoordinates ());   时间=美元才能imageFileName 绘制→美元getCoordinates(),只mt_rand (1000,, 9999);   switch 才能;(图→美元getExtension ()), {   ,,case  & # 39; jpg # 39;:   ,,case  & # 39; jpeg # 39;:   ,,,imageFileName 美元。=,& # 39;jpg # 39;;   ,,,source 美元;=,imagecreatefromjpeg(图→美元getPath ());   ,,,imagejpeg(来源、美元,美元imageFilePath 只imageFileName美元);   ,,,休息;   ,,case  & # 39; gif # 39;:   ,,,imageFileName 美元。=,& # 39;gif # 39;;   ,,,source 美元;=,imagecreatefromgif(图→美元getPath ());   ,,,imagegif(来源、美元,美元imageFilePath 只imageFileName美元);   ,,,休息;   ,,case  & # 39; png # 39;:   ,,,imageFileName 美元。=,& # 39;. png # 39;;   ,,,source 美元;=,imagecreatefrompng(图→美元getPath ());   ,,,imagepng(来源、美元,imageFilePath美元,美元imageFileName);   ,,,休息;   ,,}   时间=美元才能startColumn  ABC2decimal ($ startColumn);   $ data [$ startRow-1]才能[startColumn美元],=,imageFilePath 美元;只imageFileName美元;   ,}   死,转储(元数据)();   },catch  (\ Exception  $ e), {   ,throw  $ e;   }   public  function  ABC2decimal (abc)美元   {   ,ten 美元;=,0;   ,len 美元;=,strlen (abc);   ,(i=1; i<美元=$ len;美元我+ +){   美元才能char =, substr (abc美元,0 -我,1);//反向获取单个字符   美元才能int =,奥德($字符);   美元才能ten  +=, (int - 65美元)*战俘(张26美元);   ,}   ,return  10美元;   }

可以看的到,图片被读取并存到了本地服务器中

 PHP如何读取Excel内的图片”>,</p> <p> <强> PHPExcel </强> </p> <p> PHPExcel实现从Excel文件里读取内容的方法和phpspreadsheet几乎一样,毕竟phpspreadsheet就是在PHPExcel基础上写的,不过PHPExcel由于已经被废弃了,所以建议优先使用phpspreadsheet,如果原来项目里一直使用了PHPExcel也可以继续使用PHPExcel的方法</p> <pre类= use  PHPExcel_IOFactory;   use  PHPExcel_Cell;   try  {   ,inputFileName 美元;=,& # 39;。/文件/1. xlsx& # 39;;   ,inputFileType 美元;=,PHPExcel_IOFactory:识别($ inputFileName);   ,objReader 美元;=,PHPExcel_IOFactory: createReader ($ inputFileType);   美元,美元objPHPExcel =, objReader→负载($ inputFileName);   },catch  (\ Exception  $ e), {   ,死(& # 39;加载文件发生错误:“& # 39;.pathinfo (inputFileName美元,PATHINFO_BASENAME)强生# 39;“:,& # 39;。e→美元getMessage ());   }   美元$ sheet =, objPHPExcel→getSheet (0);   美元$ data =,表→toArray();,//该方法读取不到图片,图片需单独处理=$ imageFilePath  & # 39;。/上传/一/& # 39;,,//图片本地存储的路径   if  (! file_exists (imageFilePath美元)),{   ,mkdir (imageFilePath美元,,0777,,真的);   }//处理图片   foreach (表→美元getDrawingCollection (), as  img美元),{   ,列表(startColumn美元,美元startRow),=, PHPExcel_Cell: coordinateFromString (img→美元getCoordinates());,//获取图片所在行和列   美元,美元imageFileName =, img→getCoordinates(),只mt_rand (1000,, 9999);   ,开关(img→美元getExtension ()), {   case 才能;& # 39;jpg # 39;:   case 才能;& # 39;jpeg # 39;:   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

PHP如何读取Excel内的图片