Laravel Export Array to XLSX File Download
Creating or making or download excel file in laravel is not much critical. It can be easily done by popular package maatwebsite/excel. Here in this whole blog we will see how to download excel file using laravel application
Install Composer Package maatwebsite/excel
composer require maatwebsite/excel
Create an Export Class for User
php artisan make:export UsersExport --model=User
Larvavel UserExport Class
namespace App\Exports; use Maatwebsite\Excel\Concerns\FromCollection; class UsersExport implements FromCollection { protected $data; public function __construct(array $data) { $this->data = $data; } /** * @return \Illuminate\Support\Collection */ public function collection() { return collect($this->data); } }
Create an UserController
namespace App\Http\Controllers; use App\Exports\UsersExport; use Maatwebsite\Excel\Facades\Excel; use Illuminate\Http\Request; class UserController extends Controller { public function export() { $data = [ ['Name', 'Email', 'Phone'], ['John Doe', '[email protected]', '123456789'], ['Jane Doe', '[email protected]', '987654321'], // Add more data as needed ]; return Excel::download(new UsersExport($data), 'users.xlsx'); } }
Read also: Laravel model one to one relationship
Read also: Make middleware in laravel 11
Define Route export for downloading xlsx file
use App\Http\Controllers\UserController; Route::get('export', [UserController::class, 'export']);
Now navigate to your browser then go to http://yourapp.test/export , then it will automatically start downloading users.xlsx file