2017 © Pedro Peláez
 

library google-spreadsheet

Google spreadsheet client

image

mach3/google-spreadsheet

Google spreadsheet client

  • Thursday, February 23, 2017
  • by mach3
  • Repository
  • 2 Watchers
  • 15 Stars
  • 1,964 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 7 Forks
  • 8 Open issues
  • 9 Versions
  • 53 % Grown

The README.md

Google Spreadsheet Client for PHP

Google Spreadsheet Client for PHP. This requires 'google/apiclient' package., (*1)

Get started

1. Get key file

  1. Log in Google Developer 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. Access by PHP

$client = Google_Spreadsheet::getClient('the/path/to/credential.json');
// Get the sheet instance by sheets_id and sheet name
$sheet = $client->file('XXXxxxXXXXxxxXXXX')->sheet('Sheet1');
// Fetch data from remote (or cache)
$sheet->fetch();
// Flush all rows in the sheet
var_dump($sheet->items);

Usage

Initialize sheet (>= 1.1.0)

The target sheet must be empty, (*2)

$sheet->init(array(
  'id',
  'name',
  'age',
  'email',
  'note'
));

Select rows

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

Insert a new row

// Insert a new row
$sheet->insert(array(
  'name' => 'John',
  'age' => 23,
  'email' => 'john@example.com'
));

// Get up-to-date items
$items = $sheet->fetch(true)->items;

Update rows

// Update rows selected by array
$sheet->update(
  array(
    'email' => 'tom@example.com'
  ),
  array(
    'name' => 'Tom'
  )
);

// Update rows selected by closure
$sheet->update(
  array(
    'email' => 'tom@example.com'
  ),
  function($row){
    return $row['name'] === 'Tom';
  }
);

// Get up-to-date items
$items = $sheet->fetch(true)->items;

Update cells (>=1.1.0)

edit method let you to update cells' value manually, (*3)

// Update `B2` cell
$sheet->edit(2, 2, 'Tom');

// Update `C1:C4` cells
$sheet->edit(3, 1, array(1, 'John', 23, 'john@example.com'));

Get up-to-date table data

// Pass `true` to ignore cache
$items = $sheet->fetch(true)->items;

Save cache option

$sheet->config(array(
  'cache' => true,
  'cache_dir' => __DIR__ . '/cache',
  'cache_expires' => 360
));

Requirement

The Versions

23/02 2017

dev-master

9999999-dev

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3

23/02 2017

v0.1.6

0.1.6.0

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3

23/02 2017

dev-develop

dev-develop

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3

22/02 2017

v0.1.5

0.1.5.0

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3

29/05 2016

v0.1.4

0.1.4.0

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3

25/05 2016

v0.1.3

0.1.3.0

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3

14/09 2015

v0.1.2

0.1.2.0

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3

06/09 2015

v0.1.1

0.1.1.0

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3

03/09 2015

v0.1.0

0.1.0.0

Google spreadsheet client

  Sources   Download

MIT

The Requires

 

by Avatar mach3