我的程序产生此错误,但我不知道为什么:
调用未定义的方法Maatwebsite \ Excel \ Excel :: create()
代码:
public function exportExcel(){
$users = User::all();
$user_array = array('Name', "Email");
foreach($users as $user){
$user_array[] = array(
'Name' => $user->name,
'Email' => $user->email,
);
}
Excel::create('User Data', function ($excel) use ($user_array){
$excel->setTitle('User Data');
$excel->sheet('User Data', function($sheet) use ($user_array){
$sheet->fromArray($user_array);
});
})->download('xls');
return redirect()->route('admin.page');
}
答案 0 :(得分:0)
尝试这个
您正在使用
Maatwebsite\Excel\Excel
类,而不是使用Import Facade Excel
use Maatwebsite\Excel\Facades\Excel;
其他用途
use Excel;
答案 1 :(得分:0)
根据此文档(Officinal document Here):
您可以使用make:export命令执行此操作。
php artisan make:export UsersExport --model=User
如果您希望手动创建导出,则可以在App / Exports中创建以下内容:
<?php
namespace App\Exports;
use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;
class UsersExport implements FromCollection
{
public function collection()
{
return User::all();
}
}
在您的控制器中,您可以立即调用此导出:
use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;
class UsersController extends Controller
{
public function export()
{
return Excel::download(new UsersExport, 'users.xlsx');
}
}
在下载文件夹中找到users.xlsx!
答案 2 :(得分:0)
在config/app.php
'providers' => [
Maatwebsite\Excel\ExcelServiceProvider::class,
]
在config/app.php
中添加门面
'aliases' => [
...
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
Laravel Excel可以以多种方式使用。
用法:
use Maatwebsite\Excel\Excel;