Загрузить содержимое рабочего листа Excel на рабочий лист Google Sheet

У меня есть лист Excel с рабочим листом с именем test_sheet. У меня есть лист Google под названием G_sheet с 5 вкладками. Я хотел бы автоматизировать процесс копирования содержимого рабочего листа Excel test_sheet и вставить его на определенную вкладку, скажем, «лист1» листа Google. Как это можно сделать с помощью Excel VBA?

Я использую Эксель 2013.


person user1315789    schedule 04.11.2017    source источник
comment
Уверен, что хочешь это сделать? Почему бы вам не кормить гугл лист с самого начала? Для того, чтобы делать то, что вы хотите, вам понадобится ваш файл excel в определенном месте, код python для его чтения и преобразования в CSV-подобный файл (xlwings может сделать это), затем дополнительный код python и «настройка» для подключения к google листы API и пиши туда. И cronjob (или что-то в этом роде), чтобы делать это периодически.   -  person Alex    schedule 06.11.2017
comment
есть библиотека Python для Google Spreadsheets, все, что вам нужно, это некоторый связующий код, что вы пробовали до сих пор?   -  person georgexsh    schedule 07.11.2017
comment
Аналогичный вопрос здесь: stackoverflow.com/questions/9690138   -  person Steve Chambers    schedule 07.11.2017
comment
вот даже ссылка на API электронных таблиц. developers.google.com/sheets/api/guides/values   -  person smundlay    schedule 13.11.2017


Ответы (4)


Вам понадобится

  1. Панды
  2. Сторожевая собака
  3. Pygsheets

Панды читают файлы xlsx/csv, конвертируют их в словари, чтобы можно было применить пакетное обновление с помощью pygsheets.

Watchdog, чтобы следить за файлами xlsx для модификаций. Когда модификация сделана, вы перечитываете файлы с помощью pandas и обновляете электронную таблицу в Google с помощью pygsheets.

введите здесь описание изображения

person EM28    schedule 12.11.2017

Возможно, я неправильно истолковал вопрос, но если вы просто хотите скопировать файл из Excel в Google Таблицы, вы можете просто загрузить его через веб-интерфейс, и он будет автоматически преобразован.

Если вам нужно синхронизировать файл, вы можете использовать клиент синхронизации Google Диска или сохранить лист Excel в OneDrive и использовать Zapier для синхронизации файла.

Если по какой-либо причине вам нужно загрузить файл программно, будет проще просто автоматизировать пользовательский ввод с помощью такой программы, как AutoHotkey, чем создавать для этого программу Python.

Если вам действительно нужна программа на Python (который, в конце концов, является одним из самых полезных языков для обработки данных), вы можете использовать xlwings для чтения листа и Google Sheets API для вывода.

Еще одна вещь, которую вы можете сделать, чтобы ускорить чтение файла, - это добавить простой код VBA в файл Excel, чтобы вывести все содержимое в формат, более удобный для чтения Python, или экспортировать весь лист как csv, а затем использовать библиотека python csv для чтения.

Другой вопрос, зачем он вообще нужен в формате Google Sheets. Если вам просто нужно, чтобы файл был доступен по ссылке, вы можете загрузить лист в OneDrive и сделать его доступным. Если вам нужно, чтобы он был доступен другим программам через Интернет, вы можете передать его напрямую или сделать файл доступным через FTP.

person speedstyle    schedule 12.11.2017

Если у вас есть учетные данные Google OAuth2:

http://gspread.readthedocs.io/en/latest/oauth2.html 

просто используйте:

https://github.com/burnash/gspread
person jimh    schedule 12.11.2017

Вы можете использовать программу Google под названием Резервное копирование и синхронизация, чтобы легко сохранять любую папку на вашем компьютере на диске Google.

Вам просто нужно настроить параметры синхронизации таким образом, чтобы он сохранял только один лист Excel в место на вашем компьютере. И затем каждый раз, когда вы сохраняете документ, он будет автоматически синхронизироваться с копией листа Excel на вашем диске Google.

person Logan Eldridge    schedule 13.11.2017