PHPackages                             maatwebsite/laravel-excel-light - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. maatwebsite/laravel-excel-light

Abandoned → [maatwebsite/excel](/?search=maatwebsite%2Fexcel)ArchivedLibrary[File &amp; Storage](/categories/file-storage)

maatwebsite/laravel-excel-light
===============================

A faster and more eloquent way of importing and exporting Excel and CSV in Laravel with the speed of Spout

5219.6k14PHP

Since Nov 23Pushed 8y ago4 watchersCompare

[ Source](https://github.com/Maatwebsite/Laravel-Excel-Light)[ Packagist](https://packagist.org/packages/maatwebsite/laravel-excel-light)[ RSS](/packages/maatwebsite-laravel-excel-light/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Excel Light
===================

[](#laravel-excel-light)

> No plans for further development and/or support. This is just an experiment to improve the Laravel-Excel library.

A faster and more eloquent way of importing and exporting Excel and CSV in Laravel with the speed of Spout.

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

[](#installation)

```
composer require maatwebsite/laravel-excel-light

```

Add the Service Provider in app.php

```
Maatwebsite\ExcelLight\LaravelExcelServiceProvider::class

```

The Excel class can be injected in your service:

```
public function __construct(\Maatwebsite\ExcelLight\Excel $excel)

```

Optionally you can also inject the Reader and Writer:

```
public function __construct(\Maatwebsite\ExcelLight\Reader $reader)
public function __construct(\Maatwebsite\ExcelLight\Writer $writer)

```

Reading
-------

[](#reading)

### Fluent usage:

[](#fluent-usage)

```
$excel->load(storage_path('workbook.xlsx'), function (Reader $reader) {
    $reader->sheets(function (Sheet $sheet) {
        $sheet->rows(function (Row $row) {

            // Get a column
            $row->column('heading_key');

            // Magic get
            $row->heading_key;

            // Array access
            $row['heading_key'];
        });
    });
});
```

### Classic usage:

[](#classic-usage)

```
$reader = $excel->load(storage_path('workbook.xlsx'));

foreach ($reader->sheets() as $sheet) {
    foreach ($sheet->rows() as $row) {

        $row->column('heading_key');

        foreach ($row->cells() as $cell) {

        }
    }
}
```

Writing
-------

[](#writing)

```
$excel->create(function (Writer $writer) {
    $writer->sheet('sheet1', function (Writer $sheet) {
        $sheet->rows([
            [1, 2, 3],
            [4, 5, 6]
        ]);

        // Add more rows
        $sheet->rows([
            [7, 8, 9],
            [10, 11, 12]
        ]);
    });
})->export(storage_path('workbook.xlsx'));
```

Custom Readers and Writers
--------------------------

[](#custom-readers-and-writers)

Registering a customer reader:

```
$this->app->make(\Maatwebsite\ExcelLigt\ExcelManager::class)
    ->registerReader('driverName', function() {
        return YourReader();
    });

```

Registering a customer writer:

```
$this->app->make(\Maatwebsite\ExcelLigt\ExcelManager::class)
    ->registerWriter('driverName', function() {
        return YourWriter();
    });

```

Resolving a custom reader and writer:

```
__construct(ExcelManager $manager) {
    $reader = $manager->reader('driverName');
    $writer = $manager->writer('driverName');
}

```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity37

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/20562729?v=4)[spartner](/maintainers/spartner)[@spartner](https://github.com/spartner)

---

Top Contributors

[![patrickbrouwers](https://avatars.githubusercontent.com/u/7728097?v=4)](https://github.com/patrickbrouwers "patrickbrouwers (8 commits)")[![dotancohen](https://avatars.githubusercontent.com/u/246144?v=4)](https://github.com/dotancohen "dotancohen (1 commits)")[![ShaneRich5](https://avatars.githubusercontent.com/u/6422774?v=4)](https://github.com/ShaneRich5 "ShaneRich5 (1 commits)")

### Embed Badge

![Health badge](/badges/maatwebsite-laravel-excel-light/health.svg)

```
[![Health](https://phpackages.com/badges/maatwebsite-laravel-excel-light/health.svg)](https://phpackages.com/packages/maatwebsite-laravel-excel-light)
```

###  Alternatives

[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[google/cloud-storage

Cloud Storage Client for PHP

34390.8M125](/packages/google-cloud-storage)[illuminate/filesystem

The Illuminate Filesystem package.

15261.6M2.6k](/packages/illuminate-filesystem)[superbalist/flysystem-google-storage

Flysystem adapter for Google Cloud Storage

26320.6M30](/packages/superbalist-flysystem-google-storage)[creocoder/yii2-flysystem

The flysystem extension for the Yii framework

2931.7M62](/packages/creocoder-yii2-flysystem)[flowjs/flow-php-server

PHP library for handling chunk uploads. Works with flow.js html5 file uploads.

2451.6M15](/packages/flowjs-flow-php-server)

PHPackages © 2026

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