API листов Google: чтение формулы ячейки - PullRequest
1 голос
/ 15 октября 2019

Я использую API «Google_Service_Sheets» для чтения значений из электронных таблиц Google. Ниже приведен пример кода.

$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';
     }
  }
}

Значения в электронной таблице хранятся с круглым вместо числового формата с десятичным, т.е. 42 вместо 41,5 (формула для этой ячейки: fx: 30+ 11.5) Приведенный выше код дает мне значения из ячейки, т. е. 42, но я хочу получить значение fx, которое составляет 30 + 11,5, т. е. 41,5.

Пожалуйста, предложите.

1 Ответ

2 голосов
/ 15 октября 2019

Вы можете использовать valueRenderOption с параметром FORMULA, см. здесь

Впоследствии вы можете вывести исходное значение из формулы и продолжить работу по желанию.

Образец:

$range = 'SHEET_NAME!A1:A5';
$options = [
    'valueRenderOption' => 'FORMULA'
];
$response = $service->spreadsheets_values->get($spreadsheetId, $range, $options);
$values = $response->getValues();
}
...