holoolaz / sheets2api
将Google Sheets转换为JSON API和Excel文件
Requires
- php: >=7.1.0
- ext-curl: *
- ext-json: *
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文档获取更多分步指南。