Class 'Maatwebsite\Excel\Excel' not found
Stefan Izdrail
Founder & Senior Architect · 2026-06-29
Title: Troubleshooting the Class 'Maatwebsite\Excel\Excel' Not Found Error in Laravel Projects
Body:
The error "Class 'Maatwebsite\Excel\Excel' not found" is a common issue faced by developers while working with Laravel and Maatwebsite/excel packages. The problem arises due to the differences between the composer.json file and the actual dependencies installed in the project. This blog post will provide you with step-by-step guidance on how to resolve this error and make your application run smoothly.
Check Your Laravel Version
Start by verifying if your Laravel framework version is compatible with the Maatwebsite/excel package. Compatibility issues can occur between different versions of Laravel and its dependencies, so make sure to use a supported combination. Visit Laravel Company for a list of compatible Laravel versions with the Maatwebsite/excel package.Inspect Composer.json File
Next, check if the composer.json file correctly references the Maatwebsite/excel dependency. The correct format should look like this:<?php
{
"require": {
"maatwebsite/excel": "^3.0"
}
}
If the required package is missing from your composer.json file, add it in the correct format and run the "composer update" command to install the latest compatible version of Maatwebsite/excel.
Run Composer Update
Sometimes, you may encounter composer conflicts when using older Laravel versions with newer packages. To resolve these issues, you can try updating all your dependencies by running "composer update" in the project's root directory. This command will install the latest compatible versions of each package and make sure that they work together smoothly.Check Your Public Directory
Ensure that your public directory is structured correctly with a proper index.php file. The code snippet below shows an example of how Laravel's public directory should look:<?php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell
*/
/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels great to relax.
|
*/
require __DIR__.'/../bootstrap/autoload.php';
/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);