enflow / laravel-excel-to-google-sheet
Push Laravel Excel exporters to Google Sheets
Fund package maintenance!
enflow.nl/contact
Installs: 4 291
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: ^8.2
- google/apiclient: ^2.13
- laravel/framework: ^10.0|^11.0
- maatwebsite/excel: ^3.1
- spatie/laravel-package-tools: ^1.15
Requires (Dev)
- laravel/pint: ^1.0
- phpunit/phpunit: ^10.5|^11.0
This package is auto-updated.
Last update: 2024-11-13 11:43:21 UTC
README
The enflow/laravel-excel-to-google-sheet
package provides an easy way to push Laravel Excel exporters to Google Sheet.
Use-cases include creating a Laravel Export to be exported in your application layer, which also needs to be periodically synced to a remote Google Sheet.
Installation
You can install the package via composer:
composer require enflow/laravel-excel-to-google-sheet
Authentication
The package uses the Google Client PHP library in the background. Authenticating with Google requires a Google Cloud Console account.
Via the Google Cloud Console account, you must have a valid project, where the Google Spreadsheet API
is enabled. To export the required JSON credentials, you can follow the steps below:
- Go to the Google Cloud Console
- Create a new project or select an existing project
- Go to
APIs & Services
>Credentials
- Click
Create Credentials
>Service account
- Choose
Spreadsheet API
for the scope. - Fill in the required fields and click
Create
- Select the created service account and click
Add key
>Create new key
- Select
JSON
and clickCreate
- The JSON file will be downloaded to your computer
- Copy the contents of the JSON file and place it in a secure place. We recommend
storage/secrets/google-service-account.json
Implementation
To start, publish the config file:
php artisan vendor:publish --provider="Enflow\LaravelExcelToGoogleSheet\LaravelExcelToGoogleSheetServiceProvider" --tag="config"
After, you can add your existing Laravel Excel export classes to the exports
array:
'exports' => [ 'teams' => \App\Exports\TeamsExport::class, ],
After setting up the exports, we recommend running php artisan push-export-to-google-sheets
to validate the exports are pushed correctly.
To periodically schedule a push from your Laravel Excel export to a Google Sheet, you can schedule the Enflow\LaravelExcelToGoogleSheet\PushAllExportsToGoogleSheets
command. This will send all defined exports to their Google Sheets. For instance:
use Enflow\LaravelExcelToGoogleSheet\PushExportsToGoogleSheets; $schedule->command(PushAllExportsToGoogleSheets::class)->dailyAt(3)->environments('production');
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email michel@enflow.nl instead of using the issue tracker.
Credits
About Enflow
Enflow is a digital creative agency based in Alphen aan den Rijn, Netherlands. We specialize in developing web applications, mobile applications and websites. You can find more info on our website.
License
The MIT License (MIT). Please see License File for more information.