PHPackages                             iracode-com/filament-excel-pro - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. iracode-com/filament-excel-pro

ActiveFilament-plugin

iracode-com/filament-excel-pro
==============================

Filament plugin for advanced Excel file data entry based on `SpartanNL/Laravel-Excel` package

12PHP

Since Aug 25Pushed 1y ago1 watchersCompare

[ Source](https://github.com/iracode-com/filament-excel-pro)[ Packagist](https://packagist.org/packages/iracode-com/filament-excel-pro)[ RSS](/packages/iracode-com-filament-excel-pro/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Filament Excel Pro
==================

[](#filament-excel-pro)

### SpartanNL/Laravel-Excel for Filament with advanced functionality

[](#spartannllaravel-excel-for-filament-with-advanced-functionality)

This package provides a Filament resource to add advanced functionality for importing data from excel files based on `SpartanNL/Laravel-Excel` package

Requirements
------------

[](#requirements)

- Laravel v11
- Filament v3
- SpartanNL/Laravel-Excel v3

Languages Supported
-------------------

[](#languages-supported)

Filament Excel Pro Plugin is translated for :

- us English
- fa Farsi

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require iracode-com/filament-excel-pro
```

After that run the install command:

```
php artisan filament-excel-pro:install
```

This will publish the config &amp; migrations &amp; translations from `iracode-com/filament-excel-pro`

And run migrates

```
php artisan migrate
```

You can manually publish the configuration file with:

```
php artisan vendor:publish --tag="filament-excel-pro-config"
```

This is the contents of the published config file:

```
return [
    /*
     * This model will be used to import.
     */
    'import_model' => \IracodeCom\FilamentExcelPro\Model\Importable::class,

    /*
     * This model will be determined as user model.
     * creator, updater: foreign key columns in import model for creator, updater relationships
     */
    'user'         => [
        'model'   => \App\Models\User::class,
        'creator' => 'created_by',
        'updater' => 'updated_by'
    ],

    /*
     * This is the name of the table that will be created by the migration and
     * used by the Import model shipped with this package.
     */
    'table'        => 'importables',

    'resources' => [
        'label'                  => 'Excel Import',
        'plural_label'           => 'Excel Imports',
        'navigation_group'       => null,
        'navigation_icon'        => 'heroicon-o-clipboard-document-check',
        'navigation_sort'        => null,
        'navigation_count_badge' => false,
        'resource'               => \IracodeCom\FilamentExcelPro\Resources\ImportableResource::class,
    ],

    'datetime_format' => 'd/m/Y H:i:s',
];
```

Optionally, you can publish the views using

```
php artisan vendor:publish --tag="filament-excel-pro-views"
```

Usage
-----

[](#usage)

### Basic SpartanNL Laravel Excel usage

[](#basic-spartannl-laravel-excel-usage)

In your `AppServiceProvider` add `HeadingRowFormatter::default('none')` method to disable formatting

```
use Illuminate\Support\ServiceProvider;
use Maatwebsite\Excel\Imports\HeadingRowFormatter;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        HeadingRowFormatter::default('none');
    }
}
```

Plugin usage
------------

[](#plugin-usage)

In your Panel ServiceProvider `(App\Providers\Filament)` active the plugin

Add the `IracodeCom\FilamentExcelPro\FilamentExcelProPlugin` to your panel config

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make(),
        ]);
}
```

Customising the ImportableResource
----------------------------------

[](#customising-the-importableresource)

You can swap out the `ImportableResource` used by updating the `->resource()` value. Use this to create your own `CustomResource` class and extend the original at `\IracodeCom\FilamentExcelPro\Resources\ImportableResource::class`. This will allow you to customise everything such as the views, table, form and permissions.

Note

If you wish to change the resource on List and View page be sure to replace the `getPages` method on the new resource and create your own version of the `ListPage` and `ViewPage` classes to reference the custom `CustomResource`.

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make()
                ->resource(\Path\For\Your\CustomResource::class),
        ]);
}
```

Customising label Resource
--------------------------

[](#customising-label-resource)

You can swap out the `Resource label` used by updating the `->label()` and `->pluralLabel()` value.

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make()
                ->label('Excel import')
                ->pluralLabel('Excel imports'),
        ]);
}
```

Grouping resource navigation items
----------------------------------

[](#grouping-resource-navigation-items)

You can add a `Resource navigation group` updating the `->navigationGroup()` value.

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make()
                ->navigationGroup('Excel import'),
        ]);
}
```

Customising a resource navigation icon
--------------------------------------

[](#customising-a-resource-navigation-icon)

You can swap out the `Resource navigation icon` used by updating the `->navigationIcon()` value.

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make()
                ->navigationIcon('heroicon-o-clipboard-document-check'),
        ]);
}
```

Active a count badge
--------------------

[](#active-a-count-badge)

You can active `Count Badge` updating the `->navigationCountBadge()` value.

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make()
                ->navigationCountBadge(true),
        ]);
}
```

Set navigation sort
-------------------

[](#set-navigation-sort)

You can set the `Resource navigation sort` used by updating the `->navigationSort()` value.

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make()
                ->navigationSort(3),
        ]);
}
```

Authorization
-------------

[](#authorization)

If you would like to prevent certain users from accessing the logs resource, you should add a authorize callback in the `FilamentExcelProPlugin` chain.

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make()
                ->authorize(
                    fn () => auth()->user()->id === 1
                ),
        ]);
}
```

Full configuration
------------------

[](#full-configuration)

```
use IracodeCom\FilamentExcelPro\FilamentExcelProPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentExcelProPlugin::make()
                ->resource(\Path\For\Your\CustomResource::class)
                ->label('Excel import')
                ->pluralLabel('imports')
                ->navigationGroup('Excel import')
                ->navigationIcon('heroicon-o-shield-check')
                ->navigationCountBadge(true)
                ->navigationSort(2)
                ->authorize(
                    fn () => auth()->user()->id === 1
                ),
        ]);
}
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Acknowledgements
----------------

[](#acknowledgements)

Special acknowledgment goes to these remarkable tools and people (developers), the Excel import plugin only exists due to the inspiration and at some point the use of these people's codes.

- [Filament](https://github.com/filamentphp/filament)

Credits
-------

[](#credits)

- [ArdavanShamroshan](.com/Ardavan-Shamroshan)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity17

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/aa9ee6efa660bf3584a722fc255d2d9d7bffc214db431a19b103776e2ab9d109?d=identicon)[iracode-com](/maintainers/iracode-com)

### Embed Badge

![Health badge](/badges/iracode-com-filament-excel-pro/health.svg)

```
[![Health](https://phpackages.com/badges/iracode-com-filament-excel-pro/health.svg)](https://phpackages.com/packages/iracode-com-filament-excel-pro)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
