我正在尝试扫描每个包含excel文件的数百个文件夹。
这是简化的工作流程
好的所以这一切都运行得很好,除非我遇到一个损坏的excel文件。
问题是PHPEXCEL库无法读取它并且它通过“注意:未定义的偏移量:”而这会破坏我的 foreach 循环。
以下是我正在寻找的内容: 以某种方式跳过错误和通知的方式并继续使用下一个文件夹和文件。
有办法吗? 感谢您的帮助。
好的,这是foreach循环:
foreach ($inputFileName as $key => $fileName) {
$objReader = PHPExcel_IOFactory::load($fileName);
$activeSheet = $objReader->getActiveSheet()->toArray(null,false,true,false);
echo "<pre>";
echo $key;
echo "</pre>";
}
答案 0 :(得分:1)
只是一个猜测:
foreach ($inputFileName as $key => $fileName) {
$objReader = PHPExcel_IOFactory::load($fileName);
if ($objReader) {
$activeSheet = $objReader->getActiveSheet()->toArray(null,false,true,false);
echo "<pre>";
echo $key;
echo "</pre>";
}
}
函数在失败时返回false
是很常见的。
答案 1 :(得分:0)
也许您可以在脚本开头使用函数error_reporting来跳过通知:
error_reporting(E_ERROR | E_WARNING | E_PARSE);
完成治疗后,将其恢复原来的值:
error_reporting(-1); //Report all errors
您可以在此处找到更多信息:http://php.net/manual/fr/function.error-reporting.php