The easiest way to work with "Excel", you only need to get fimiliar with Laravel Excel to supercharged Excel exports and imports on your filament projects.
You can install the package via Composer:
composer require yemenopensource/filament-excel
Create Create a new Import for your model for example 'Content' model.
php artisan make:import ContentsImport --model=Content
Use the Import
action on your filament resouce list page for example 'ListContents' page is a page to list the records of 'ContentResource':
// app\Filament\Resources\ContentResource\Pages\ListContents.php
use YOS\FilamentExcel\Actions\Import;
protected function getHeaderActions(): array
{
return [
// ... other actions like 'CreateAction'
Import::make()
->import(ContentsImport::class)
->type(\Maatwebsite\Excel\Excel::XLSX)
->label('Import from excel')
->hint('Upload xlsx type')
->icon(HeroIcons::C_ARROW_UP)
->color('success'),
];
}
The package provides a configuration file that allows you to customize its behavior.
You can publish the configuration file by using the following command:
php artisan vendor:publish --provider="YOS\FilamentExcel\ServiceProvider" --tag="config"
After publishing the configuration file, you can find it at config/filamentExcel.php. Open this file and modify it according to your requirements.
You can publish translations using:
php artisan vendor:publish --provider="YOS\FilamentExcel\ServiceProvider" --tag="config"
When users of the package execute Laravel's vendor:publish
Artisan command, the package's language files will be published to language path/vendor/filament-excel
.
Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to create an issue or a pull request.
The package is part of yemen open source and it is licensed under the MIT license.