首页  >  问答  >  正文

如何使用 Laravel Excel 在 Laravel 中导入多个 Excel 文件?

我正在尝试使用 Laravel Excel 在 Laravel 中导入多个文件。

我的刀片文件中有以下代码,它允许我选择要上传的多个文件:

<form action="{{ route('file-import') }}" method="POST" enctype="multipart/form-data">
    @csrf
    <div class="form-group mb-4" style="max-width: 500px; margin: 0 auto;">
        <div class="custom-file text-left">
            <input type="file" name="file" class="custom-file-input" id="customFile" multiple>
            <label class="custom-file-label" for="customFile">Choose file</label>
        </div>
    </div>
    <button class="btn btn-primary">Import data</button>
</form>

在控制器中我使用以下代码:

public function fileImport(Request $request) 
    {   
        
        Excel::import(new LogsImport, $request->file('file')->store('temp'));
        return back();
    }

它工作正常,但它只导入我选择的第一个文件。 我相信我需要某种 foreach 语句。我尝试了以下选项:

public function fileImport(Request $request) 
    {   
        foreach($request->file('file') as $f){
            Excel::import(new LogsImport, $f->store('temp'));
        }
        return back();
    }

但是使用这个没有文件被导入。

我也尝试打印 $request,但我得到了一个巨大的数组,并且找不到任何指向我上传的文件的相关内容。

如有任何帮助,我们将不胜感激。谢谢

P粉536909186P粉536909186268 天前453

全部回复(1)我来回复

  • P粉696605833

    P粉6966058332023-12-31 07:17:06

    尝试使用数组 name="file[]" 而不是 name="file"

    回复
    0
  • 取消回复