旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

利用php实现读取excel中的图片_php教程

作者:搜搜PHP网发布时间:2020-01-22分类:PHP教程浏览:71


导读:实例详解phpcookie与session会话基本用法_php教程cookie是Web服务器发送给浏览器的一块信息,浏览器会在本地文件中给每一个Web服务器存储cookie;se...

实例详解php cookie与session会话基本用法_php教程

cookie是Web服务器发送给浏览器的一块信息,浏览器会在本地文件中给每一个Web服务器存储cookie;session是另一种记录客户状态的机制,不同的是cookie保存在客户端浏览器中,而session保存在服务器上。

要实现读取excel中的图片,可以通过phpspreadsheet来实现。phpspreadsheet是一个纯php编写的库,并引入了命名空间、PSR规范等。

使用composer安装phpspreadsheet

composer require phpoffice/phpspreadsheet

GitHub下载:

https://github.com/PHPOffice/PhpSpreadsheet

(免费视频教程推荐:php视频教程)

一文搞懂PHP类和对象、抽象类、接口_php教程

本文主要介绍PHP中的类、对象、抽象类以及接口的概念和使用方法,初学PHP的小伙伴一定不要错过!

excel图片如下图:

项目实例:

use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use PhpOffice\PhpSpreadsheet\IOFactory;
$imageFilePath = './uploads/imgs/'; //图片本地存储的路径
if (!file_exists($imageFilePath)) { //如果目录不存在则递归创建
 mkdir($imageFilePath, 0777, true);
}
try {
 $inputFileName = './files/1.xlsx'; //包含图片的Excel文件
 $objRead = IOFactory::createReader('Xlsx');
 $objSpreadsheet = $objRead->load($inputFileName);
 $objWorksheet = $objSpreadsheet->getSheet(0);
 $data = $objWorksheet->toArray();
 foreach ($objWorksheet->getDrawingCollection() as $drawing) {
  list($startColumn, $startRow) = Coordinate::coordinateFromString($drawing->getCoordinates());
  $imageFileName = $drawing->getCoordinates() . mt_rand(1000, 9999);
  switch ($drawing->getExtension()) {
   case 'jpg':
   case 'jpeg':
    $imageFileName .= '.jpg';
    $source = imagecreatefromjpeg($drawing->getPath());
    imagejpeg($source, $imageFilePath . $imageFileName);
    break;
   case 'gif':
    $imageFileName .= '.gif';
    $source = imagecreatefromgif($drawing->getPath());
    imagegif($source, $imageFilePath . $imageFileName);
    break;
   case 'png':
    $imageFileName .= '.png';
    $source = imagecreatefrompng($drawing->getPath());
    imagepng($source, $imageFilePath, $imageFileName);
    break;
  }
  $startColumn = ABC2decimal($startColumn);
  $data[$startRow-1][$startColumn] = $imageFilePath . $imageFileName;
 }
 dump($data);die();
} catch (\Exception $e) {
 throw $e;
}
public 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;
}

结果如图:


相关文章教程推荐:php教程

以上就是利用php实现读取excel中的图片的详细内容,更多请关注ki4网其它相关文章!

分享学好PHP的几个重要心得_php教程

初学PHP或者转行想做PHP程序员的小伙伴,再开始学习时或多或少都会有迷茫和徘徊期,本篇文章分享给大家一些学习心得和体会,希望对你有用!

标签:php读取excel图片