php - 从 Google Sheet API 获取单元格格式
问题描述
我想从 Google Sheet API 中检索在 google sheet 中设置的单元格的格式/类型,例如纯文本、数字、日期、时间等。 谷歌表格格式截图在这里。 谷歌表格样本
我正在使用此Srijan 参考中的 API ,它只能提取单元格的值,但我也需要格式。
代码参考如下:
$response = $service->spreadsheets_values->get($spreadsheetId, $getRange);
$values = $response->getValues();
输出如下:
{
header 1: "A1", - text
header 2: "100", - number
header 3: "888.88", - currency
header 4: "10 Apr 2020", - date
header 5: "E1", - text
header 6: "F1", - text
header 7: "G1", - text
header 8: "H1", - text
header 9: "I1", - text
header 10: "J1", - text
header 11: "K1", - text
header 12: "L1", - text
header 13: "M1" - text
},
期望的输出:
{
header 1: {
"value" : "A1",
"type" : "text"
},
header 2: {
"value" : "100",
"type" : "number"
}
},
根据Google Sheet API 参考,看来我们实际上可以得到单元格的格式。但是我们如何与我上面使用的 API 集成呢?
解决方案
要获取有关特定单元格的数据,您需要调用get of方法spreadsheets
。您可以Try this API
设置includeGridData
并true
探索结果以检查是否有您正在寻找的信息。一旦你找到它,让我们用 php.ini 获取它。
如何在php中获取单元格数据(包括单元格格式)
- 按照快速入门指南 php 并检查您是否获得了所需的结果
- 调用包含参数
get
的方法spreadsheet
includeGridData
- 调用方法
getSheets
并spreadsheets
存储结果 - 在结果中搜索您想要的数据
$service = new Google_Service_Sheets($client);
$spreadsheetId = 'your spreadsheet id';
$spreadsheet = $service->spreadsheets->get($spreadsheetId,['includeGridData' => true]);
$sheet = $spreadsheet->getSheets();
$formats = $sheet[0]['data'][0]['rowData'][0]['values'];
注意事项
- 最后一个零表示行号,如果您有标题,您可以将其设置为
1
formats
是一个包含给定行的所有列的数组。- 访问第一列并显示其值:
$myJson = json_encode($formats[0]); echo $myJson;
- 有一个对象 ( )
effectiveValue
指示该值是boolValue
、formulaValue
还是。不过,都考虑。为了区分类型,还有另一个显示cellFormat的对象 () 。它有一个名为的属性,指示单元格中的类型。numberValue
stringValue
dates
numberValue
numberValue
effectiveFormat
numberFormat
numberValue
有了这些信息,您应该能够实现您的目标。
解决方法
使用Apps Script和getnumberformats而不是 php。
推荐阅读
- angular - 是否有任何用于 Angular 的表库可以在不重新渲染整个表的情况下刷新单元格?
- javascript - 提交不带重定向的 HTML 表单并显示成功消息
- java - MongoSocketReadException:过早到达流的末尾(Java 到 Mongo 使用 ssl)
- ios - 如何在越狱设备上查看 iOS 应用程序日志?
- php - sum() 每个具有相同 id 的数量
- spark-ar-studio - 如何在脚本中获取麦克风 dB 级别?
- python - 如何从 CVS 文件中的列中读取数字?(Python)
- javascript - "this" 关键字在常规函数 v/s 箭头函数中的工作原理
- javascript - Zapier Cli - 应用程序在 Cli 中运行良好,但在 Zapier UI 中无法正常运行
- sql - 选择一列的总和并获取其他列的数量