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

Spreadsheetbundle Laravel Package

roromix/spreadsheetbundle

A Symfony bundle that integrates PHPExcel/PhpSpreadsheet into your application, letting you read, write, and export spreadsheet files such as Excel, OpenDocument, and CSV through simple, service-based APIs.

View on GitHub
Deep Wiki
Context7

Getting Started

v3.0.0 is a breaking platform-compatibility release: it requires PHP >= 8.2 and Symfony ~7.1. The release notes do not list new features or deprecations, so treat this as an upgrade gate rather than a functional change.

Start here:

  • Check php -v is 8.2 or newer.
  • Check composer show for Symfony component versions and confirm the Laravel version. Laravel 10 and earlier are likely incompatible because they target PHP 8.1 / Symfony 6.x.
  • Read the package composer.json first. Confirm the exact constraint: Composer’s ~7.1 means >=7.1 <8.0, not “exactly 7.1”.
  • Review README, CHANGELOG, service provider, config file, and any published migrations/assets before upgrading.

First use case: install or upgrade the package in a Laravel app already running PHP 8.2+ and Symfony 7.1+, publish its config if applicable, then run the package’s existing smoke test or a minimal route/command/job that exercises it.

Implementation Patterns

  • Require the new major explicitly: composer require vendor/package:^3.0. Do not rely on a broad constraint that may resolve to v2.
  • Upgrade on a branch with composer require vendor/package:^3.0 -W, then run the full test suite, static analysis, and at least one package-specific integration test.
  • Use a CI matrix that covers the supported boundary: PHP 8.2+ and Symfony 7.1+ through the highest 7.x version allowed by ~7.1.
  • Resolve package services through Laravel’s container, facades, or published config rather than instantiating internals directly. This keeps upgrades isolated.
  • If the package publishes config, commit the published config and verify it after php artisan config:cache.
  • For day-to-day use, wrap package calls in application services or actions so the package API is used in one place and future major upgrades are contained.
  • Test package interaction with queues, scheduled commands, and HTTP middleware if the package participates in those flows; platform upgrades often expose container or serialization differences.

Gotchas and Tips

  • This is a major version bump with dropped platform support. There is no documented deprecation path in the release notes.
  • ~7.1 allows Symfony 7.2, 7.3, etc., but blocks Symfony 8.0. If the release notes mean “only 7.1 exactly”, verify the package composer.json.
  • PHP 8.1 is no longer supported. Update local, CI, and production runtimes before upgrading.
  • Laravel 10 projects will usually hit Composer conflicts. Use composer why-not vendor/package 3.0 and composer prohibits to identify the blocking package.
  • Watch transitive Symfony constraints. Other Laravel packages may still pin Symfony 6.x, causing resolution failures even if the app itself is on Laravel 11+.
  • After config or service provider changes, run php artisan config:clear and php artisan optimize:clear before debugging.
  • Useful debugging commands: composer diagnose, composer show, composer why-not, php artisan about, and php -v.
  • Extension points remain the usual Laravel package surfaces: service provider bindings, published config, events/listeners, and any documented contracts. Confirm these in the package source before relying on them.
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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager