Skip to content

punkrockio/google-spreadsheet.php

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Google Spreadsheet Client for PHP/Laravel 5.x

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%