Looking to hire Laravel developers? Try LaraJobs

laravel-google-spreadsheet maintained by mitni

Description
Google spreadsheet client for Laravel based off mach3ss@gmail.com
Authors
Last update
2017/01/13 05:35 (dev-master)
License
Links
Downloads
738

Comments
comments powered by Disqus

Out of Date!!

The google API has changed, so I need to update this package

Google Spreadsheet Client for Laravel/PHP

Originally forked from mach3/google-spreadsheet.php to work with Laravel 5.x (and correct namespacing)

Google Spreadsheet Client for Laravel/PHP.

Get started

1. Get key file

  1. Log in Google Developper Console
  2. Create new project
  3. Create Service Account credentials in the project
  4. Download key file as JSON

2. Create spreadsheet

  1. Create a new spreadsheet in Google Drive
  2. Authorize the email address, which is found as "client_email" in key file, to read and edit.
  3. Save the file ID from address bar.

3.1 Composer

composer require mitni/laravel-google-spreadsheet

This requires "google/apiclient" package, but that should be included by default.

3.2 Access by PHP

use Mitni\Google\GoogleSpreadsheet;

$client = GoogleSpreadsheet::getClient("the/path/to/credential.json");
// Get the file by file ID
$file = $client->file("XXXxxxXXXXxxxXXXX");
// Get the sheet by title
$sheet = $file->sheet("Sheet1");
// Flush all rows in the sheet
var_dump($sheet->items);

Usage

Select rows

// Array
$items = $sheet->select(array("id" => "1"));
// Closure
$items = $sheet->select(function($row){
	return (int) $row["age"] < 30;
});

Insert a new row

$sheet->insert(array(
	"name" => "John",
	"age" => 23,
	"email" => "john@example.com"
));

Update column's value

$sheet->update(
	8, // row number
	"name", // field's name (or column number as Integer)
	"Tom"
);

Get up-to-date table data

$items = $sheet->fetch(true)->items;

Save cache

$client->config(array(
	"cache" => true,
	"cache_dir" => "cache",
	"cache_expires" => 3600
));

Requirement