holoolaz/sheets2api

将Google Sheets转换为JSON API和Excel文件

v1.0 2022-01-20 15:57 UTC

This package is auto-updated.

Last update: 2024-09-26 22:21:43 UTC


README

将Google Sheets转换为JSON API和Excel文件

快速链接

简介

sheets2api库由Holoola-z公司制作,请勿编辑或滥用此库的使用。

sheets2api库主要用于将Google Sheets转换为JSON API,以便在CMS、wordpress、自定义网站等中使用,您可以直接将Google电子表格以JSON文件的形式显示在网页上。

安装

通过composer安装此库是最佳方式

composer require holoolaz/sheets2api

用法

在您的文件中包含vendor/autoload.php文件,并使用主类的命名空间,如下所示

require_once 'vendor/autoload.php';

use GoogleSheets2API\Sheets2API\Sheets2API;

$sheets2api = new Sheets2API('YOUR_API_ID_HERE');

让我们使用我们的api id '617989cb51352'

$sheets2api = new Sheets2API('617989cb51352');

获取所有电子表格数据

重要:每次使用此API调用Spreadsheet()时,您实际上是在选择第一个工作表,如下例所示

$response = $sheets2api->Spreadsheet()->get(); // 这里您正在获取第一个电子表格的所有数据

重要:现在让我们选择一个特定的工作表来获取数据

$response = $sheets2api->Sheet('Sheet1')->get(); // 这里您正在获取第一个电子表格的所有数据

可选参数

$params = [
	'limit' => 2,
	'orderBy' => 'Id',
	'order' => 'DESC'
];

$response = $sheets2api->Sheet('Sheet1')->get($params);
print_r($response);

$params = [
	'limit' => 2,
	'orderBy' => 'Id',
	'order' => 'DESC'
];

$response = $sheets2api->Spreadsheet()->get($params);
print_r($response);

注意:所有其他API调用类方法都是如此。

获取电子表格单元格

$response = $sheets2api->Spreadsheet()->cells('A1,B1');

$response = $sheets2api->Sheet('Sheet1')->cells('A1,B1');   

获取电子表格行数

$response = $sheets2api->Spreadsheet()->count();

$response = $sheets2api->Sheet('Sheet1')->count();   

获取电子表格列名(键)

$response = $sheets2api->Spreadsheet()->keys(); 

$response = $sheets2api->Sheet('Sheet1')->keys();   

按值搜索整个电子表格

$query = ['ranger', 'brad'];
$params = [
	'limit' => 3,
	'orderBy' => 'Id',
	'order' => 'DESC',
	'caseSensitive' => 'true'
];

$response = $sheets2api->Spreadsheet()->search($query);

$response = $sheets2api->Sheet('Sheet1')->search($query);   

注意

此方法可以接受额外的参数

  • limit
  • offset
  • orderBy
  • order
  • caseSensitive // 此参数是字符串类型,所以请确保使用引号:caseSensitive => 'true' // 可以取(true/false)
  • 等等...

按条件搜索整个电子表格

$query = ['Name' => 'brad']

$response = $sheets2api->Spreadsheet()->searchBy($query);

$response = $sheets2api->Sheet('Sheet1')->searchBy($query); 

注意

此方法可以接受额外的参数

  • limit
  • offset
  • orderBy
  • order
  • caseSensitive
  • 等等...

列出电子表格工作表(标签页)

$response = $sheets2api->Spreadsheet()->sheets();

获取电子表格名称

$response = $sheets2api->Spreadsheet()->name();

列出所有电子表格

$response = $sheets2api->Spreadsheet()->list();

清除电子表格工作表(标签页)

$response = $sheets2api->Sheet('Sheet3')->clear();

清除电子表格工作表(标签页)

$response = $sheets2api->Sheet('Sheet3')->copy('SPREADSHEET_ID_TO_COPY_DATA_TO');
$response = $sheets2api->Sheet('Sheet3')->copy('1t59SEiPQtySWFwwBEzP5jcgmX18Ywc5ytYiitJYxbY8');

这里我们将Sheet3的数据复制到这个1t59SEiPQtySWFwwBEzP5jcgmX18Ywc5ytYiitJYxbY8电子表格ID。

删除电子表格行

$response = $sheets2api->Sheet('Sheet3')->deleteRow('Id=3');

这里我们删除了具有列名Id和值3的行。

注意:调用此方法可以一次删除多行,请确保列名和值是唯一的。

重要:不要在条件参数中使用空格,如Id = 3,这将不起作用。

更新电子表格行

$data = ['6', 'john', 'john@yahoo.com', 'Slovakia'];
$response = $sheets2api->Spreadsheet()->addRow($data);
$response = $sheets2api->Sheet('Sheet3')->addRow($data);

更新电子表格多行

$data = [
	array('6', 'john', 'john@yahoo.com', 'Slovakia'),
	array('7', 'jack', 'jack@gmail.com', 'Brazil')
];
$response = $sheets2api->Spreadsheet()->addRows($data);
$response = $sheets2api->Sheet('Sheet3')->addRows($data);

创建电子表格工作表(标签页)

$response = $sheets2api->SpreadSheet()->create('NEW_SHEET');

注意:这里我们创建了一个名为NEW_SHEET的新工作表

删除电子表格工作表(标签页)

$sheets = ['Sheet23'];
$response = $sheets2api->SpreadSheet()->deleteSheets($sheets);

注意:这里我们只删除了Sheet23,但如果我们想删除另外3个工作表怎么办。

$sheets = ['Sheet23', 'Sheet24', 'Sheet25'];
$response = $sheets2api->SpreadSheet()->deleteSheets($sheets);

就是这样,我们删除了3个工作表而不是1个工作表。

将HTML表格导入工作表(标签页)

$url = 'URL_TO_IMPORT_FROM';
$index = 1;

$response = $sheets2api->Sheet('Sheet26')->importTable($url, $index);

将HTML列表导入工作表(标签页)

$url = 'URL_TO_IMPORT_FROM';
$index = 1;

$response = $sheets2api->Sheet('Sheet26')->importList($url, $index);

重要:您可以使用我们的API文档获取更多分步指南。