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=UserLarvavel 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