bogordesaincom/excel-googlesheet

将 Laravel Excel 导出器推送到 Google Sheets

dev-main 2024-04-15 11:27 UTC

This package is auto-updated.

Last update: 2024-09-08 11:54:17 UTC


README

Latest Version on Packagist Software License Total Downloads

《enflow/laravel-excel-to-google-sheet》包提供了一种简单的方法将 Laravel Excel 导出器推送到 Google Sheets。使用案例包括创建一个需要在应用程序层导出的 Laravel 导出,并且还需要定期同步到一个远程的 Google Sheets。

安装

您可以通过 composer 安装此包

composer require enflow/laravel-excel-to-google-sheet

身份验证

该包在后台使用Google Client PHP 库。使用 Google 进行身份验证需要一个 Google Cloud Console 账户。通过 Google Cloud Console 账户,您必须有一个有效的项目,其中已启用 Google Spreadsheet API。要导出所需的 JSON 凭据,可以按照以下步骤进行

  1. 前往 Google Cloud Console
  2. 创建一个新的项目或选择一个现有的项目
  3. 前往 APIs & Services > Credentials
  4. 点击 Create Credentials > Service account
  5. 选择 Spreadsheet API 作为作用域。
  6. 填写必填字段并点击 Create
  7. 选择创建的服务账户并点击 Add key > Create new key
  8. 选择 JSON 并点击 Create
  9. JSON 文件将下载到您的计算机
  10. 复制 JSON 文件的全部内容并将其放置在安全的位置。我们建议 storage/secrets/google-service-account.json

实现

首先,发布配置文件

php artisan vendor:publish --provider="Enflow\LaravelExcelToGoogleSheet\LaravelExcelToGoogleSheetServiceProvider" --tag="config"

然后,您可以将现有的 Laravel Excel 导出类添加到 exports 数组中

'exports' => [
    'teams' => \App\Exports\TeamsExport::class,
],

在设置导出后,建议运行 php artisan push-export-to-google-sheets 以验证导出是否已正确推送。

要定期安排从您的 Laravel Excel 导出器到 Google Sheets 的推送,可以安排 Enflow\LaravelExcelToGoogleSheet\PushAllExportsToGoogleSheets 命令。这将发送所有定义的导出到它们的 Google Sheets。例如

use Enflow\LaravelExcelToGoogleSheet\PushExportsToGoogleSheets;

$schedule->command(PushAllExportsToGoogleSheets::class)->dailyAt(3)->environments('production');

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全性

如果您发现任何与安全相关的问题,请通过电子邮件 michel@enflow.nl 联系,而不是使用问题跟踪器。

致谢

关于 Enflow

Enflow 是一家位于荷兰阿尔芬·阿恩的数字创意代理机构。我们专注于开发网络应用程序、移动应用程序和网站。您可以在我们的网站上找到更多信息 在这里

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件