ouarea/excel-m

A faster and more eloquent way of importing and exporting Excel and CSV in Laravel with the speed of Spout
1,514 1
Install
composer require ouarea/excel-m
Latest Version:v1.0.6
PHP:>=5.6
License:MIT
Last Updated:Sep 11, 2018
Links: GitHub  ·  Packagist
Maintainer: linojiang268

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

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

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:

$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

$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

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');
}

Related Packages

codecon/laravel-simplesheet

Simple, powerful and memory-efficient spreadsheet exports and imports in Laravel

2,779 0
arcanedev/laravel-excel

This package allows you to export an array/Laravel Collection as an excel/csv fi...

384 5
anil/file-export

This package is used to export data in excel

4,550 1
maatwebsite/excel

Supercharged Excel exports and imports in Laravel

169,501,170 12,703
cyber-duck/laravel-excel

This package provides a way to export an Eloquent collection as an excel file an...

232,615 74