google-apps-script - Google 表格 API:读取单元格公式
问题描述
我正在使用“Google_Service_Sheets”API 从谷歌电子表格中读取值,下面是示例代码。
$range = 'SHEET_NAME!A1:A5';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
if (empty($values)) {
print 'No data found.\n';
} else {
foreach ($values as $row) {
for ($i = 0; $i < sizeof($row); $i++) {
echo $row[$i].'\n';
}
}
}
电子表格中的值存储为 Round 而不是带有十进制的数字格式,即 42 而不是 41.5(此单元格的公式是:fx:30+ 11.5) 上面的代码给了我来自单元格的值,即 42,但我想获取 fx 值这是 30 + 11.5 即 41.5。
请建议。
解决方案
您可以valueRenderOption
与参数一起使用FORMULA
,请参见此处
随后,您可以从公式中提取原始值并根据需要进行操作。
样本:
$range = 'SHEET_NAME!A1:A5';
$options = [
'valueRenderOption' => 'FORMULA'
];
$response = $service->spreadsheets_values->get($spreadsheetId, $range, $options);
$values = $response->getValues();
}
推荐阅读
- kotlin - 比较两个字符串并使用 diff 显示结果 - 这可以快速发现差异
- c - 将文件行存储在 char 双指针中的代码将同一行存储在所有元素中
- c# - '无法将'System.Security.Claims.ClaimsPrincipal'类型的对象转换为'TestApp.SecurityUser'类型。' 在 asp.net 核心中
- r - 将向量设置为月年 tsibble
- java - 如何限制某些传感器每隔几秒发送一次数据?
- c# - Admob 广告未在 Unity、C# 中显示
- linux - nohup 命令 & : 如何丢弃输出?
- c# - 为什么垃圾收集器不垃圾我的实例?
- sql-server - SELF JOIN 基于层次结构匹配行
- java - 前台服务类错误通知