Laravel Excel 打开文件时处理错误

Laravel Excel handle error when file is open

我在本地项目中使用 Laravel Excel 2.1.0 将一行写入 excel 文件。

这是我的代码:

$filePath = storage_path('myfile.xls');
$rows = \Excel::load($filePath, function($reader) {
    $sheet = $reader->sheet(0);
    $sheet->appendRow(
        array(
             'Hello'
        )
    );
});

一切正常,新行已附加到我的文件。

有时会发生 excel 文件在用户尝试追加新行时打开的情况。在这种情况下 Laravel,正确地,告诉我这个错误:

fopen(mypath\myfile.xls): failed to open stream: Resource temporarily unavailable

如何处理此错误以跳过函数并继续我的代码而不附加行?

我是这样解决的:

$filePath = storage_path('myfile.xls');
$fp = @fopen($filePath, "r+");
if($fp) {
    $rows = \Excel::load($filePath, function($reader) {
        $sheet = $reader->sheet(0);
        $sheet->appendRow(
            array(
                 'Hello'
            )
        );
    });
}