PHPackages                             occtherapist/advanced-table-export-for-filament - 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. [PDF &amp; Document Generation](/categories/documents)
4. /
5. occtherapist/advanced-table-export-for-filament

ActiveLibrary[PDF &amp; Document Generation](/categories/documents)

occtherapist/advanced-table-export-for-filament
===============================================

Export and print Filament admin tables to CSV, XLSX, and PDF — Filament v4/v5 compatible successor to filament-export.

v0.1.0(today)10MITPHPPHP ^8.2CI passing

Since Jun 19Pushed todayCompare

[ Source](https://github.com/OccTherapist/advanced-table-export-for-filament)[ Packagist](https://packagist.org/packages/occtherapist/advanced-table-export-for-filament)[ Docs](https://github.com/OccTherapist/advanced-table-export-for-filament)[ RSS](/packages/occtherapist-advanced-table-export-for-filament/feed)WikiDiscussions main Synced today

READMEChangelog (4)Dependencies (7)Versions (2)Used By (0)

Advanced Table Export for Filament
==================================

[](#advanced-table-export-for-filament)

[![Latest Version on Packagist](https://camo.githubusercontent.com/4ad48d06e57e698ac6ff1dd5e35e20b08a9bf610df8f1fe064cf1f0ec08a6b64/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f63637468657261706973742f616476616e6365642d7461626c652d6578706f72742d666f722d66696c616d656e742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/occtherapist/advanced-table-export-for-filament)[![Total Downloads](https://camo.githubusercontent.com/2b202c9ddbc6cf64f9ba6392518668b3a0100bd225f2b1f5b3f15ec81a6e61e3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f63637468657261706973742f616476616e6365642d7461626c652d6578706f72742d666f722d66696c616d656e742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/occtherapist/advanced-table-export-for-filament)[![License](https://camo.githubusercontent.com/fe85f3c9446f57c60c231fe6b24358c3a830bbbe5cd7896197c8813c640d9e5f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f4f63635468657261706973742f616476616e6365642d7461626c652d6578706f72742d666f722d66696c616d656e743f7374796c653d666c61742d737175617265)](LICENSE)[![PHP Version](https://camo.githubusercontent.com/fa35f2ed4ff32c0a2b57ed7a22799838636d6990b53a9000966a8aae8f5bea44/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6f63637468657261706973742f616476616e6365642d7461626c652d6578706f72742d666f722d66696c616d656e742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/occtherapist/advanced-table-export-for-filament)

**Export and print Filament admin tables in seconds** — CSV, XLSX, and PDF with column selection, preview, and flexible PDF drivers.

Built for **Filament v4 and v5** on **Laravel 11/12**. A modern, actively maintained successor to the export workflow many teams relied on with [`alperenersoy/filament-export`](https://github.com/alperenersoy/filament-export).

---

Why this package?
-----------------

[](#why-this-package)

NeedThis packageExport **filtered, sorted, searched** table data (not just selected rows)Header action exports the current table queryExport **only selected rows**Bulk action for row selection**CSV, XLSX, PDF** from one modalSingle action with format picker**Choose columns** before exportBuilt-in column filter in the export modal**PDF** with portrait or landscapeConfigurable orientation per export**Multiple PDF backends**Sidecar, Browsershot, Dompdf, or null driver**Filament v4/v5** without waiting on upstreamFirst-class support from day one**German &amp; English** UITranslations includedFilament's [native export action](https://filamentphp.com/docs/actions/export) is powerful for queued, notification-based exports with custom exporter classes. This package targets teams that want a **lightweight, modal-based export** directly from the table — similar to `filament-export`, but updated for current Filament APIs.

---

Features
--------

[](#features)

- **Header action** — export the full filtered/sorted table state
- **Bulk action** — export only selected records
- **Formats** — CSV, XLSX, PDF (print-ready)
- **Column picker** — let users choose which columns to include
- **Custom file names** — optional filename input with timestamp prefix
- **PDF orientation** — landscape or portrait
- **Pluggable PDF renderers** — Sidecar Browsershot, local Browsershot, Dompdf
- **Row limits** — configurable caps for PDF and spreadsheet exports
- **Panel plugin** — central limits and defaults per Filament panel
- **i18n** — English and German translations out of the box
- **Preview UI** — paginated preview in the export modal

---

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

[](#requirements)

- PHP 8.2+
- [Filament](https://filamentphp.com/) 4 or 5
- Laravel 11 or 12

**Optional** (pick one PDF stack):

DriverPackages`sidecar``spatie/laravel-pdf`, `wnx/sidecar-browsershot``browsershot``spatie/laravel-pdf`, `spatie/browsershot``dompdf``dompdf/dompdf``null`No PDF dependencies (default)Spreadsheet exports use [OpenSpout](https://github.com/openspout/openspout) (included).

---

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

[](#installation)

```
composer require occtherapist/advanced-table-export-for-filament
```

Register the plugin in your panel provider (e.g. `app/Providers/Filament/AdminPanelProvider.php`):

```
use Filament\Panel;
use OccTherapist\AdvancedTableExportForFilament\AdvancedTableExportForFilamentPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            AdvancedTableExportForFilamentPlugin::make()
                ->maxPdfRows(200)
                ->maxExportRows(2000)
                ->previewPerPage(25),
        ]);
}
```

Add the actions to any table:

```
use OccTherapist\AdvancedTableExportForFilament\Actions\TableExportBulkAction;
use OccTherapist\AdvancedTableExportForFilament\Actions\TableExportHeaderAction;
use Filament\Tables\Columns\TextColumn;

public function table(Table $table): Table
{
    return $table
        ->headerActions([
            TableExportHeaderAction::make()
                ->modifyExportQueryUsing(fn ($query) => $query->where('is_active', true)),
        ])
        ->toolbarActions([
            TableExportBulkAction::make()
                ->withColumns([
                    TextColumn::make('internal_notes')->label('Notes'),
                ]),
        ]);
}
```

`TableExportHeaderAction` exports the filtered, sorted, and searched table query. `TableExportBulkAction` exports only the selected rows. Use `withColumns()` to include extra model columns that are not visible in the table.

Publish the config (optional):

```
php artisan vendor:publish --tag=advanced-table-export-for-filament-config
```

Set your PDF driver in `.env`:

```
ADVANCED_TABLE_EXPORT_PDF_RENDERER=sidecar
```

---

Configuration
-------------

[](#configuration)

All options live in `config/advanced-table-export-for-filament.php`:

KeyDefaultDescription`default_format``xlsx`Default export format`default_page_orientation``landscape`PDF orientation`time_format``M_d_Y-H_i`Timestamp suffix for generated filenames`max_pdf_rows``200`Max rows for PDF exports`max_export_rows``2000`Max rows for CSV/XLSX exports`csv_delimiter``,`CSV field delimiter`pdf_renderer``null`PDF driver: `sidecar`, `browsershot`, `dompdf`, `null``disable_preview``false`Hide preview section in modal`disable_filter_columns``false`Hide column picker`disable_file_name``false`Hide filename input`disable_file_name_prefix``false`Disable timestamp prefix on filenames`disable_additional_columns``false`Disable extra column inputs`preview_per_page``25`Preview pagination size (v0.2.0)`action_icon``heroicon-o-arrow-down-on-square`Action button iconPanel-level limits override config when set on the plugin:

```
AdvancedTableExportForFilamentPlugin::make()
    ->maxPdfRows(500)
    ->maxExportRows(10000)
    ->previewPerPage(50);
```

---

PDF rendering
-------------

[](#pdf-rendering)

The package resolves a `PdfRenderer` contract from the container based on `pdf_renderer`:

```
// config/advanced-table-export-for-filament.php
'pdf_renderer' => env('ADVANCED_TABLE_EXPORT_PDF_RENDERER', 'null'),
```

DriverBest for**sidecar**Production on AWS Lambda via [Sidecar Browsershot](https://github.com/wnx/laravel-sidecar-browsershot)**browsershot**Local/dev with Chrome via [Browsershot](https://github.com/spatie/browsershot)**dompdf**Simple HTML-to-PDF without a headless browser**null**Development until PDF export ships in v0.2.0---

Migrating from `filament-export`
--------------------------------

[](#migrating-from-filament-export)

If you used [`alperenersoy/filament-export`](https://github.com/alperenersoy/filament-export) on Filament v2/v3, this package offers a familiar workflow for Filament v4/v5:

```
- use AlperenErsoy\FilamentExport\Actions\FilamentExportHeaderAction;
- use AlperenErsoy\FilamentExport\Actions\FilamentExportBulkAction;
+ use OccTherapist\AdvancedTableExportForFilament\Actions\TableExportHeaderAction;
+ use OccTherapist\AdvancedTableExportForFilament\Actions\TableExportBulkAction;

  ->headerActions([
-     FilamentExportHeaderAction::make('export'),
+     TableExportHeaderAction::make(),
  ])
  ->toolbarActions([
-     FilamentExportBulkAction::make('export'),
+     TableExportBulkAction::make(),
  ])
```

Many `disable*` options from the original package map directly to config keys (see [Configuration](#configuration)) or can be set per action via method chaining (see [Action customization](#action-customization)).

---

Action customization
--------------------

[](#action-customization)

Both export actions support a fluent API similar to `filament-export`:

```
use Filament\Tables\Columns\TextColumn;
use OccTherapist\AdvancedTableExportForFilament\Actions\TableExportHeaderAction;
use OccTherapist\AdvancedTableExportForFilament\Enums\ExportFormat;

TableExportHeaderAction::make()
    ->fileName('monthly-report')
    ->timeFormat('Y-m-d')
    ->defaultFormat(ExportFormat::Pdf)
    ->defaultPageOrientation('portrait')
    ->disableCsv()
    ->disablePreview()
    ->directDownload()
    ->withHiddenColumns()
    ->csvDelimiter(';')
    ->withColumns([
        TextColumn::make('internal_notes')->label('Notes'),
    ])
    ->formatStates([
        'status' => fn ($record) => strtoupper((string) $record->status),
    ])
    ->extraViewData([
        'company' => 'Acme GmbH',
    ])
    ->fileNameFieldLabel('Report name')
    ->formatFieldLabel('Export as')
    ->filterColumnsFieldLabel('Included columns');
```

MethodDescription`fileName()`Default file name`timeFormat()`Timestamp format when the file name is generated automatically`disablePdf()` / `disableXlsx()` / `disableCsv()`Hide export formats`defaultFormat()`Default selected format`defaultPageOrientation()`Default PDF orientation`directDownload()`Skip the modal and export immediately with defaults`disableFilterColumns()`Hide the column picker`disableFileName()`Hide the file name input`disableFileNamePrefix()`Disable automatic table-name prefix`disablePreview()`Hide the paginated preview`disableTableColumns()`Export only columns from `withColumns()``withHiddenColumns()`Include toggled-hidden table columns in exports`withColumns()`Add extra model columns to the export`csvDelimiter()`CSV delimiter for this action`formatStates()`Override exported values per column`extraViewData()`Extra variables for PDF/preview Blade views`modifyExportQueryUsing()`Modify the export query before fetching recordsAction-level settings override global config values.

---

Roadmap
-------

[](#roadmap)

VersionFocus**v0.3.0** *(current)*Fluent action API, `directDownload()`, `formatStates()`, `extraViewData()`**v0.4.0**Custom PDF/preview Blade publishing, writer hooksStar or watch the repository to follow progress: [github.com/OccTherapist/advanced-table-export-for-filament](https://github.com/OccTherapist/advanced-table-export-for-filament)

---

Contributing
------------

[](#contributing)

Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for setup and guidelines.

Found a bug or missing feature? [Open an issue](https://github.com/OccTherapist/advanced-table-export-for-filament/issues).

---

Changelog
---------

[](#changelog)

See [CHANGELOG.md](CHANGELOG.md) for release notes.

---

License
-------

[](#license)

MIT © [Igor Clauss](https://igorclauss.de)

---

Author
------

[](#author)

**Igor Clauss** — Laravel &amp; Filament developer

- Website: [igorclauss.de](https://igorclauss.de)
- GitHub: [@OccTherapist](https://github.com/OccTherapist)

Built with care for teams who need reliable table exports in modern Filament panels.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance100

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

0d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/28587659?v=4)[Igor Clauss](/maintainers/OccTherapist)[@OccTherapist](https://github.com/OccTherapist)

---

Top Contributors

[![OccTherapist](https://avatars.githubusercontent.com/u/28587659?v=4)](https://github.com/OccTherapist "OccTherapist (5 commits)")

---

Tags

laravelpdfexportxlsxcsvprintfilament

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/occtherapist-advanced-table-export-for-filament/health.svg)

```
[![Health](https://phpackages.com/badges/occtherapist-advanced-table-export-for-filament/health.svg)](https://phpackages.com/packages/occtherapist-advanced-table-export-for-filament)
```

###  Alternatives

[maatwebsite/excel

Supercharged Excel exports and imports in Laravel

12.7k152.8M847](/packages/maatwebsite-excel)[rap2hpoutre/fast-excel

Fast Excel import/export for Laravel

2.3k26.3M50](/packages/rap2hpoutre-fast-excel)[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[avadim/fast-excel-laravel

Lightweight and very fast XLSX Excel Spreadsheet Export/Import for Laravel

4054.7k1](/packages/avadim-fast-excel-laravel)[a2insights/filament-saas

Filament Saas for A2Insights

171.5k](/packages/a2insights-filament-saas)

PHPackages © 2026

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