我已经用输入文件实现了Maatwebsite/Laravel Excel,这很好。
public function import(Request $request)
{
$path = $request->file('file');
if (!is_file($path))
{
dd("file excel missing");
}
Excel::import(new ProductsSerialsImport,request()->file('file'));
return redirect()->back()->with('success', 'File updated!');
}
Route::post('products_serials/import', 'ProductsSerialsController@import')->name('products_serials.import');
我做了一些这样的事情,但不明白在哪里可以在不通过输入文件的情况下接收excel文件。
public function import(Request $request)
{
$path = "storage/excel/file.xlsx";
if(!File::exists($path)) {
dd("missing excel file!");
}
Excel::import(new ProductsSerialsImport, $path);
return redirect()->back()->with('success', 'File updated!');
}
如何从route=>'更新excel文件products_serials/import通过输入文件跳过上传文件?
提前感谢!
有一个构造函数。从文档来看,它将像这个
产品SerialImport.php
class ProductsSerialImport implements ToCollection {
private $file;
public function __construct($file)
{
$this->file = $file;
}
public function collection(Collection $row)
{
foreach($row as $r) {
Model::create(['name', $this->file]); // Just for example
}
}
}
YourController.php
Excel::import(new ProductsSerialsImport(request()->file('file')));