Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Excel Import Laravel Package

eightynine/filament-excel-import

Filament Excel Import adds a ready-made import action to your Filament resources, letting users upload Excel or CSV files with column mapping, validation, chunked processing, and progress feedback—no custom import code required.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: Unchanged. This is a Filament admin-panel plugin, so it fits only where Filament is already the back-office UI layer. It provides import UX close to the resource/table surface rather than a domain import service. For internal ops, finance, catalog, or user-admin imports, that is a strong fit. For customer-facing ingestion or high-volume ETL, it is the wrong layer—use a dedicated importer/queue pipeline behind it. The v4.0.0 release reaffirms the plugin's scope is UI affordances (modal behavior, notifications), not ingestion architecture.
  • Integration feasibility: Confirmed low-effort, with a new gating condition: the package version must now be matched to the Filament major version. Composer install, service-provider auto-discovery, publish config/assets, attach an import action to a Filament resource. The real effort remains column contracts, validation rules, transforms, duplicate handling, and rollback behavior—none of which the release notes address. A 1–2 day spike with representative files should still establish feasibility.
  • Technical risk: Moderate-low, marginally improved. v4.0.0 is a timely response to Filament v4, which is positive evidence on upgrade cadence for a single-maintainer package (95 stars, 0 dependents). The addition of a first-time contributor (@holmesadam) is a small positive on bus factor. However, this is a major version bump, which means a breaking cutover: v4.0.0 almost certainly requires Filament v4 and drops Filament v3 support, so the previously assumed "pin and forget" posture is now a version-track decision. Unchanged risks: PhpSpreadsheet/Laravel Excel transitive exposure, file-parsing CVEs, memory pressure, locale/date ambiguity, and absence of production evidence (0 dependents). The release notes do not mention dependency changes, so we cannot assume the parser chain was upgraded, patched, or re-constrained.
  • Key questions:
    • Filament v4 support is now answered—yes, as of v4.0.0. Still open: which exact Filament v4 minor, Laravel, and PHP versions are supported, and does the 3.1.x line continue to receive fixes for teams staying on Filament v3?
    • Does v4.0.0 change the parser dependency (maatwebsite/excel, openspout, PhpSpreadsheet directly) or its version constraints? A major bump is the natural moment to widen/raise those, and the notes are silent.
    • Are there API breaking changes beyond the Filament upgrade—renamed action classes, config keys, publishable assets, or namespace moves—that require code changes on our side?
    • The "stop modal from closing on error" change implies errors were previously dismissible and possibly lost. Does the error state now report row-level detail, and is it persisted anywhere after the modal closes?
    • Does the new success notification report counts (imported/skipped/failed), or is it a binary "done"? A binary success toast on a partial import is a misleading signal for operators.
    • Still open from before: queued/chunked imports vs. full-file-in-memory, custom importers/column mappings/transforms, per-row validation, transaction rollback vs. silent skip, multi-sheet, relations, duplicate detection, test/CI coverage, security disclosure process, per-role authorization, and tenant/disk isolation of uploaded files.
    • What is the maintainer's cadence commitment now that they have shipped a Filament-major-aligned release—will v4.x track Filament v4 minors?

Integration Approach

  • Stack fit: High if the product already runs Laravel + Filament. Now version-gated: on Filament v4, use package v4.x; on Filament v3, stay on 3.1.x and treat the plugin as feature-frozen until you migrate Filament. Low if Filament is not present—do not add Filament solely for import. In a non-Filament Laravel app, use Laravel Excel directly and build a thin UI. In a non-Laravel stack, this package is not applicable.
  • Migration path: Treat it as a UI accelerator, not a data migration tool. Pilot on one low-risk admin resource, keep the existing CSV/Excel path as fallback, and wrap the package behind an internal Importer contract so business logic does not depend on plugin APIs. No database migration is expected; the migration is process/UX. New: if you are on Filament v3, the package's v4.0.0 release is effectively a forcing function—your package upgrade is now coupled to a Filament major upgrade. Decouple those two projects; do not attempt a combined "Filament v4 + import plugin v4" cutover inside a business-logic change window.
  • Compatibility: Run composer why-not against the target Filament/Laravel/PHP versions before committing—this is now the single highest-value pre-flight check, because the 3.x→4.x boundary is a hard Filament-major boundary. Check whether the plugin uses older Filament table-action namespaces versus newer action classes. Validate PHP 8.2/8.3 and Laravel 10/11/12 support. Pin to a known-good minor version (^4.0 only after the spike passes) and test Filament upgrades in a branch.
  • Sequencing:
    1. Dependency and security review, including PhpSpreadsheet exposure and what changed transitively between 3.1.11 and 4.0.0—diff the lockfile, do not rely on release notes.
    2. Read the 3.1.11→4.0.0 diff for breaking changes before upgrading anything in a shared branch.
    3. Sandbox spike with real files: malformed headers, large row counts, dates, Unicode, duplicates—plus explicit tests of the two new behaviors (error keeps modal open; success notification content).
    4. Define import contracts: required columns, validation, transforms, idempotency, error reporting.
    5. Pilot one resource behind a feature flag.
    6. Add queue/chunking or row caps if the spike shows memory/timeout risk.
    7. Document operator runbook and rollback procedure.
    8. Roll out to additional resources only after the first pilot's failure modes are understood.

Operational Impact

  • Maintenance: Budget modest but nonzero ownership: ~0.1–0.2 FTE for dependency updates, Filament upgrades, and regression testing. Upward adjustment warranted: the v4.0.0 release demonstrates the package now moves with Filament majors, which means your maintenance obligation moves with Filament majors too. Every Filament major upgrade now implies a plugin major upgrade and a regression pass on every import surface. Pin versions; avoid forking unless the package is abandoned. MIT license keeps a fork viable as a last resort, with ongoing maintenance cost.
  • Support: Community-only support via GitHub issues; no SLA. Internal teams must own the runbook: failed import triage, validation-message interpretation, file-format guidance, and escalation. The low dependent count still means fewer public answers and less battle-testing—and v4.0.0 is brand new, so expect early-adopter defects in the Filament v4 path specifically (the "initial release" wording in the notes is a signal, not boilerplate).
  • Scaling: Unchanged and still the dominant limit: file size, row count, PHP memory, and request timeout. The release notes give no indication of queue or chunking support, so assume synchronous, in-request parsing until proven otherwise. Cap synchronous imports (e.g., a few thousand rows) and move larger files to a chunked/queued importer. Watch temp-file cleanup, database transaction size, and concurrent imports. Import idempotency and duplicate detection must be designed, not assumed.
  • Failure modes: Malformed headers, encoding issues, locale-dependent dates, formula injection, partial imports without rollback, memory exhaustion on large files, queue retries creating duplicates, Filament major-version breakage, and parser CVEs. Newly relevant: version mismatch—running plugin 4.x against Filament v3 or vice versa—as a first-order failure mode; and "modal stays open on error" improving error visibility without any evidence that partial writes are rolled back, which makes silent partial imports more likely to be noticed but not less likely to occur. Also consider PII exposure in uploaded temp files and unauthorized access to import actions. The low opportunity score (30.77) still reinforces that this is a commodity convenience feature—do not over-invest in customizing it, and keep an exit path.
  • Ramp-up: Low for developers already fluent in Filament: roughly half a day to a day to wire a basic import and understand the extension points. Operations/users need templates and validation guidance; support needs a short runbook. Add a short note to the runbook covering the new success notification and error-modal behavior so operators do not mistake a "success" toast for a clean, fully committed import. The main ramp-up cost remains the business rules for each import surface, not the package API.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package