首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在php中跳过Excel文件的几行?

如何在php中跳过Excel文件的几行?
EN

Stack Overflow用户
提问于 2020-09-29 17:07:38
回答 1查看 237关注 0票数 0

我有一个Excel文件(xlsx),里面有几张图片

我有一个php脚本,它允许我提取其中包含的照片,将它们插入一个文件夹中,并根据每张照片前面的单元格的名称重命名它们。这个脚本可以工作,但是我想从第5行开始读这些行,我尝试用$i <= 3跳过前4行,但是这会导致图片名称的变化。我该如何解决我的问题?

代码语言:javascript
复制
<?php

require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php';
$path = 'C:/wamp64/www/Extract_pictures_Excel/imagetest.xlsx';
$objPHPExcel = PHPExcel_IOFactory::load($path);

$i = 0;

foreach ($objPHPExcel->getActiveSheet()->getDrawingCollection() as $drawing ) {
    $i++;
  

    if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
        ob_start();
        call_user_func(
            $drawing->getRenderingFunction(),
            $drawing->getImageResource()
        );
        $imageContents = ob_get_contents();
        ob_end_clean();
        switch ($drawing->getMimeType()) {
            case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG :
                    $extension = 'png'; break;
            case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_GIF:
                    $extension = 'gif'; break;
            case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_JPEG :
                    $extension = 'jpg'; break;   
     }
    } 

    else {
        $zipReader = fopen($drawing->getPath(),'r');
        $imageContents = '';
        while (!feof($zipReader)) {
            $imageContents .= fread($zipReader,1024);
        }
        fclose($zipReader);
        $extension = $drawing->getExtension();
        $chemin = 'C:/wamp64/www/Extract_pictures_Excel/images/';
     
    }

    $sheet = $objPHPExcel->getActiveSheet();
    foreach ($sheet->getDrawingCollection() as $drawing) {
    $row = (int)substr($drawing->getCoordinates(), 1);

  // retrieve the image data anyway you like

    $stylecode = $sheet->getCell('B'.$row)->getValue();
    $colorcode = $sheet->getCell('C'.$row)->getValue();
    $finalname = $stylecode.'_'.$colorcode;
    $myFileName = $chemin.$finalname.'.'.$extension;
    file_put_contents($myFileName,$imageContents);
 
  }
}
 ?>
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64124408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档