登录

读取EXCEL文件数据,对比文件夹中是否存在这个数据,有就添加EXCEL的ID到文件的前边保存

php笔记 置顶热门
0 556

 

           

    第一步运行:

composer require phpoffice/phpspreadsheet

第二步添加下边的代码

    use PhpOffice\PhpSpreadsheet\IOFactory;

    $inputFileName = 'D:\catimg1\example11.xls'; // 替换为你的文件名 $spreadsheet = IOFactory::load($inputFileName); // 选择第一个工作表 $sheet = $spreadsheet->getSheet(0); $directory = 'D:\catimg\2023-11'; // 替换为您的文件夹路径 $dir = 'D:\catimg\2023-11'; // 文件夹路径 $files = scandir($dir); // 获取文件夹下所有文件和文件夹 // $array = []; foreach ($files as $file) { if ($file != "." && $file != "..") { // 排除当前目录和上层目录 // 构建原文件路径和新文件路径 $filees = explode('_'$file); // print_r($filees);die; if (!empty($filees[1])) { echo $file; continue; } // die; $oldName = $directory . '/' . $file; foreach ($sheet->getRowIterator() as $keys => $row) { // 遍历每一列 $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); $data = []; if ($keys != 1){ foreach ($cellIterator as $key=>$cell) { if(in_array($key['A''B'])){ // 获取单元格的数据并输出 $value = $cell->getValue(); if ($key == 'A'){ $data['id'] = $value; }else{ $data['name'] = $value; } // echo $value.$key . ' '; }else{ break; } } $filenames = substr($file0-4); if($data['name'] == $filenames){ // 确保目标目录存在 $newName = $directory .'\\'. $data['id'].'_' . $data['name'].'.jpg'; // 新文件名格式可以自定义 $destinationDirectory = dirname($newName); if (!is_dir($destinationDirectory)) { mkdir($destinationDirectory 0755 true); // 第三个参数 true 用于创建多级目录 } // 复制文件 if (copy($oldName $newName)) { echo "文件复制成功".$file.'<br>'; } else { echo "文件复制失败".$file.'<br>'; } } } echo PHP_EOL; } // 修改文件名 echo $file . "<br>"; } }


发表评论

0 个回复