Laravel Excel Export
Öncelikle yapıcaklarımızı sırasıyla yazayım daha sonra adıları tek tek yaparız.
- maatwebsite/excel paketini projemizi ekliyicez
- export edicegimiz alanların sorgusunu yazıcagımız exports dosyasını oluşturalım.
- Daha sonra oluşturduğumuz dosyanın içerisine yapmak istediğimiz sorguları veya functionları yazalım
- Controllerımızda download edicegimiz dosyayı için kodlarımız yazalım.
- Route umuzu yazarak gerekli yönlendirmelerimizi yazıcaz
Şimdi başlayalım
Terminal de aşağıdaki kodu yazdığımızda app/Exports klasörünü oluşturup altına UsersExport dosyasını oluşturucak. Bunu oluşturuken User modelimizle ilişkili olduğunuzda belirtmiş oluyoruz.
php artisan make:export UsersExport --model=User
Aşağıdaki kodda download edilicek excel dosyasının kolon adlarını da headings altında yazıyoruz
<?php
namespace App\Exports;
use App\Models\User;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
class UsersExport implements FromCollection, WithHeadings
{
public function collection() { $userid=Session::get('userid'); return User::where('id',$userid)->get(['username','name','surname']); }
public function headings():array {
return ['username','name','surname'];
}
}
Şimdi controllerimizin içerisine functionumuzu yazalım
public function export()
{
return Excel::download(new UsersExport, 'users.xlsx');
}
Daha sonra Route muzu yazalım
Route::get('users/export/', 'UsersController@export');
şimdi view imizde route yönlendirmesini yaparak indirme işlemini yapabiliriz.
Laravel Excel Export