digitools / fast-excel
Requires
- box/spout: ^3.3
This package is not auto-updated.
Last update: 2025-06-06 10:17:50 UTC
README
A lightweight and efficient package for importing and exporting Excel files in PHP applications. This package focuses on simplicity and performance.
Features
- Import data from Excel files into collections.
- Export data from collections to Excel files.
- Lightweight and fast, with no unnecessary overhead.
- Easy integration with Laravel and PHP applications.
Installation
-
Install via Composer:
composer require digitools/fast-excel
-
Publish the Package (if needed): No configuration required. Just install and use.
Usage
Exporting Data to Excel
You can export data from collections, arrays, or Eloquent models to Excel files.
use Me\FastExcel\FastExcel; $data = collect([ ['name' => 'John Doe', 'email' => 'john@example.com'], ['name' => 'Jane Smith', 'email' => 'jane@example.com'], ]); (new FastExcel($data))->export('users.xlsx');
Importing Data from Excel
Import data from an Excel file into a collection for processing.
use Me\FastExcel\FastExcel; $collection = (new FastExcel)->import('users.xlsx'); $collection->each(function ($row) { // Process each row User::create($row); });
Customizing Export
Customize the exported columns using a callback function.
use Me\FastExcel\FastExcel; $data = User::all(); (new FastExcel($data))->export('users.xlsx', function ($user) { return [ 'Full Name' => $user->name, 'Email Address' => $user->email, ]; });
Customizing Import
Customize the import logic using a callback function.
use Me\FastExcel\FastExcel; $users = (new FastExcel)->import('users.xlsx', function ($row) { return User::create([ 'name' => $row['Full Name'], 'email' => $row['Email Address'], ]); });
Exporting Large Datasets
Use Laravel's cursor or chunking to handle large datasets.
use Me\FastExcel\FastExcel; (new FastExcel(User::query()->cursor()))->export('large-users.xlsx');
Testing
To ensure the package is working correctly:
- Clone the repository.
- Install dependencies:
composer install
Contributing
Contributions are welcome! Feel free to submit a pull request or report issues.
License
This package is open-sourced software licensed under the MIT License.
Let me know if you want further edits or additional instructions included!