使用maatweb导入Excel表格到Laravel 5.1

我正试图学习如何将一个基本的excel表导入laravel 5.1

vname Vservice vphone vmobile test name test service test number 123232 test mobile 12344 

我做了以下function

 public function ImportVlist() { Excel::load('/import.xlsx', function($reader) { $results = $reader->get(); foreach ($results as $key => $value) { foreach ($value as $key => $value1) { Vlist::create([ 'vname'=>$value1->vname, 'vservice' => $value1->vservice, 'vphone' => $value1->vphone, 'vmobile' => $value1->vmobile ]); } } })->get(); } 

我做了一个路线

 Route::get('/vlist/import' , 'VlistsController@ImportVlist'); 

在索引中,我做了以下链接

 <li><a href="{{ action('VlistsController@ImportVlist') }}"> <span>Import Suppliers </span></a></li> 

但是当我点击我收到页面没有发现旁边的Excel不导入到MySQL数据库

行动路线应定义如下:

 Route::get('/vlist/import', array('as' => 'vlist.import', 'uses' => 'VlistsController@ImportVlist')); 

另外,你可以使用controller() helper:

 Route::controller('vlist', 'VlistsController', ['getImportVlist' => 'vlist.import']); 

然后,该控制器内的所有使用http-method前缀的方法将绑定到以下路由:

 public function getImportVlist() { Excel::load('/import.xlsx', function($reader) { ... } } 

并且可以通过路由名称在视图中引用:

 <li><a href="{{ route('vlist.import') }}"> <span>Import Suppliers </span></a></li> 

但我个人认为纯粹的routes

 Route::get('/vlist/import', ['uses' => 'VlistsController@ImportVlist', 'as' => 'vlist.import']); 

然后你不需要保持控制器和路由视图同步:

 <li><a href="{{ route('vlist.import') }}"> <span>Import Suppliers </span></a></li> 

优点:

1)路由名称更有意义。

2)重命名控制器方法只需要在routes.php修复。

3)本地化/自定义路线链接/标题/面包屑变得更加容易:

  <li><a href="{{ route('vlist.import') }}"> <span>@lang('vlist.import')</span></a></li> 

vlist.en.php

 <?php return [ ... 'import' => 'Import Suppliers', ... ]; 

vlist.ru.php

 <?php return [ ... 'import' => 'Поставщики', ... ];