Чтение Google таблиц в PHP

Как получить данные из Google spreadsheets в виде массива PHP? Очень просто, Google docs позволяет экспортировать лист в формате CSV, главное чтобы файл был в общем доступе.

Рассмотрим на примере файла:

https://docs.google.com/spreadsheets/d/1p7-V7oUWI5iBA7K8a_RVeR4xpptwYP6oN-7Eg-W90aA/edit#gid=0

В URL видим:

  • 1p7-V7oUWI5iBA7K8a_RVeR4xpptwYP6oN-7Eg-W90aA – id документа,
  • gid=0 – id листа (у первого всегда 0).

Далее нужно сформировать ссылку для получения CSV файла:

https://docs.google.com/spreadsheets/d/id_документа/export?format=csv&gid=id_листа

А дальше остается его только прочитать.

Т.к. формат CSV накладывает свои ограничения – изображения, комментарии, URL ссылок и форматирование текста будут недоступны. Если это требуется, то можно получить XLSX файл и прочитать его с помощью PHPExcel.

https://docs.google.com/spreadsheets/d/id_документа/export?gid=id_листа

17.02.2019, обновлено 30.09.2020
Следующая запись ZIP в PHP (ZipArchive)

Комментарии 3

Сергей Мобиле Сергей Мобиле
28 декабря 2019 в 17:43
0
Это работает только, если таблица открыта всем для чтения/записи. А как считать в csv таблицу, открытую только для чтения?
Web-Blog Web-Blog
6 июля 2020 в 17:13
0
Крутой пример, спасибо большое, помогло, но вот как избавиться от вывода пустых строк в таблице, я имею ввиду строки с пустым значением?
Андрей Ефимов Андрей Ефимов
5 сентября 2020 в 23:56
0
Спасибо, очень помогло.

, чтобы добавить комментарий.

Другие публикации

Описание значений глобального массива $_SERVER с примерами.
9035
0
Примеры как зарегистрировать бота в Телеграм, описание и взаимодействие с основными методами API.
41263
+16
С помощью расширения dompdf можно легко сформировать PDF файл. По сути, dompdf - это конвертер HTML в PDF который...
25463
+17
Можно найти множество применений Яндекс Диска на своем сайте, например, хранение бекапов и отчетов, обновление прайсов,...
26903
+9
JSON (JavaScript Object Notation) – текстовый формат обмена данными, основанный на JavaScript, который представляет собой набор пар {ключ: значение}. Значение может быть массивом, числом, строкой и...
24680
+7
Несколько вариантов как быстро организовать запись данных в лог-файл.
22289
+4