Два решения, которые не предусматривают платную подписку: 1) написать скрипт или короткое приложение ( выберите ваш язык ), которое экспортирует Google Sheet с помощью Google Drive API как CSV. Почему Drive API? Sheets API предназначен для электронных таблиц -ориентированных функций, т. Е. Форматирования данных, изменения размера столбцов, создания диаграмм, проверки ячеек и т. Д., В то время как Drive API предназначен для file -ориентированная функциональность, т. Е. Импорт / экспорт.
Если вы используете Python, вот полный пример , который вы можете запустить в качестве задания cron на своем сервере или, если хостинг приложений на Google App Engine . Если вы этого не сделаете, вы можете использовать его в качестве псевдокода и выбрать любой язык, поддерживаемый клиентскими библиотеками Google APIs . Вот основной фрагмент кода из этого примера (предположим, что самый последний Лист называется инвентаризацией):
FILENAME = 'inventory'
SRC_MIMETYPE = 'application/vnd.google-apps.spreadsheet'
DST_MIMETYPE = 'text/csv'
files = DRIVE.files().list(
q='name="%s" and mimeType="%s"' % (FILENAME, SRC_MIMETYPE),
orderBy='modifiedTime desc,name').execute().get('files', [])
if files:
fn = '%s.csv' % os.path.splitext(files[0]['name'].replace(' ', '_'))[0]
print('Exporting "%s" as "%s"... ' % (files[0]['name'], fn), end='')
data = DRIVE.files().export(fileId=files[0]['id'], mimeType=DST_MIMETYPE).execute()
if data:
with open(fn, 'wb') as f:
f.write(data)
print('DONE')
Если ваш Лист большой, вам, возможно, придется экспортировать его порциями - см. на этой странице о том, как , . Вы также можете отправить по электронной почте содержимое файла с помощью Gmail API . Если вы, как правило, плохо знакомы с API Google, у меня есть (несколько устарело, но) удобное для пользователя вступительное видео для вас. (Есть 2 видео после этого, может быть, тоже полезно.)
2) Другое решение предназначено для тех, у кого "аллергия" на использование API, и альтернативой является Google Apps Script , Javascript вне браузера. Как и Node, он работает на стороне сервера, но на серверах Google. С помощью скрипта Apps вы можете использовать DriveApp или расширенный сервис Drive для доступа к вашему Листу, а затем использовать MailApp или GmailApp , чтобы отправить его по электронной почте или используйте сервис UrlFetch , чтобы отправить его на какой-либо сервер по вашему выбору. Чтобы запустить его с нормальным интервалом, вам нужно будет создать сценарий как управляемый по времени триггер . В любом случае вам не нужно самостоятельно размещать и запускать ваше приложение.
пс. последняя версия Drive API - v3 , но если вы обращаетесь к Drive из скрипта приложений, он использует v2 (пока не рекомендуется).