Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
26.11.2021, 12:44
|
|||
---|---|---|---|
Вопрос к знатокам Google Sheets |
|||
#18+
Подскажите, как правильно работать с Sheets API ? У меня есть скрипт, который ежедневно запускается, рассчитывает определенные значения и записывает результат в Google-таблицу (точнее должен записывать). В Google-таблице 50 столбцов, в первом указана дата, в остальных значения для этой даты. Скрипт подключается к таблице, находит в таблице строку с нужной датой (если не находит, то добавляет новую строку), а также вносит в таблицу соответствующие значения. Проблема в следующем. В переменной $row находится номер строки, в которой нужно сохранять значения. Текущие значения этой строки я считываю так: Код: php 1.
Здесь $sh это ссылка на объект GoogleSheets, $ss это наименование листа. В $rs возвращается ссылка на результат (объект), в этом ссылке один из методов ($rs->values) возвращает массив массивов (массив строк, внутри которого массив ячеек). Проблема с пустыми значениями. A) Если в строке отсутствуют данные, то в $rs->values будет пустое значение (null). B) Если в строке заполнены все ячейки, то в $rs->values[0] возвратится массив из 50 элементов. C) Если в строке заполнены только первые три ячейки, то в $rs->values[0] возвратится массив из 3 элементов, остальные 47 будут отсутствовать. D) Если в строке заполнены только первая и последняя ячейки, то в $rs->values[0] возвратится массив из 50 элементов, в все значения (кроме крайних) будут пустыми. Но проблема с тем, чтобы записать данные в таблицу. Если я считываю массив, изменяю его значения и записываю его обратно, то все работает: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Такой код успешно работает для вариантов B и D. Но если я добавляю ячейки справа (например были заполнены только первые два столбца, а мне нужно добавить значение в 20 столбец), то возникает ошибка: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Значения данных в скрипте (print_r(['data'=>$data, 'rs'=>$rs])): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63.
Не могу понять, что не устраивает Google. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.11.2021, 12:46
|
|||
---|---|---|---|
Вопрос к знатокам Google Sheets |
|||
#18+
Обертка (GoogleSheets) предельно простая: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=23&tablet=1&tid=1459405]: |
0ms |
get settings: |
16ms |
get forum list: |
17ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
37ms |
get topic data: |
86ms |
get forum data: |
1ms |
get page messages: |
206ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 685ms |
0 / 0 |