Как загрузить файл excel в гугл таблицы
Перейти к содержимому

Как загрузить файл excel в гугл таблицы

  • автор:

Отправка данных из *.XLSX в Google Sheets

Всем привет! Я обычный пользователь MS Excel и Google Docs, любитель-программист на VBA, App Script и JavaScript.

Задача

В данной статье хочу показать как можно быстро и легко отправить объемные данные из файла *.XLSX в Google Sheets при помощи VBA и App Script сохранив тем самым формат отправляемых данных(границы, заливки и прочее).

Цель статьи — поделиться доступным инструментом по отправки данных в Google Sheets из XLSX в автоматическом режиме, при помощи VBA и App Script.

Все инструменты реализованы стандартными средствами VBA, App Script без использования дополнительных библиотек.

Подготовительный этап, в наличии имеем:

Практическая часть:

Алгоритм работы автоматической отправки данных с XLSX в Google Sheets заключается в следующем, при помощи VBA отправляем данные через почтовую службу Outlook на свою почту Gmail с определенной меткой, после чего App Script извлекает данные в Google Sheets документ.

В редактроре VBA создадим функцию и процедуру по отправки письма с вложением:

Function SendEmailOutlook(ByVal Email$, ByVal MailText$, Optional ByVal Subject$ = "", _ Optional ByVal AttachFilename As Variant) As Boolean On Error Resume Next: Err.Clear Dim OA As Object: Set OA = CreateObject("Outlook.Application") If OA Is Nothing Then MsgBox "Не удалось запустить OUTLOOK для отправки почты", vbCritical: Exit Function With OA.CreateItem(0) 'создаем новое сообщение .To = Email$: .Subject = Subject$: .Body = MailText$ If VarType(AttachFilename) = vbString Then .Attachments.Add AttachFilename If VarType(AttachFilename) = vbObject Then ' AttachFilename as Collection For Each File In AttachFilename: .Attachments.Add File: Next End If For i = 1 To 100000: DoEvents: Next ' без паузы не отправляются письма без вложений Err.Clear: .send SendEmailOutlook = Err = 0 End With Set OutApp = Nothing End Function ________________________________________________________________________________ Sub sendMail() 'отправляем письмо с 1 вложением attach$ = "Ваш_путь_до_файла\файл.xlsx" ' прикрепляем текущий файл Excel res = SendEmailOutlook("itkod2020@gmail.com", "", "Label_для_Gmail", attach$) End Sub

Далее, необходимо в редакторе App Script вашей Google таблицы создать две фукции.Первая, будет проверять входящие письма с «Вашей меткой». Вторая, по созданию новой книги в Google Drive с полученными данными Эксель, которая скопирует в ваш Google sheet и удалить более ненужную книгу с Google Drive.

function emailTrigger() < var label = GmailApp.getUserLabelByName("Ваша_Метка в Gmail"); //метка на папку в гугл почта if(label != null)< var threads = label.getThreads(); for (var i=0; i> >

Функция для извлечения файла Excel

function getExcelFile(thread) < //Функция для извлечения файла Excel var messages = thread.getMessages(); //извлекает сообщения в первом потоке var len = messages.length; //Получает количество сообщений в первом потоке var message = messages[len-1] //получает первое сообщение в данном потоке var attachments = message.getAttachments(); // Получает вложение первого сообщения //Обработка пркрепленного файла var xlsxBlob = attachments[0]; // Предполагается, что вложения[0] - это большой двоичный объект файла xlsx. Logger.log(xlsxBlob.getContentType()) var convertedSpreadsheetId = Drive.Files.insert(, xlsxBlob).id; //Преобразует Excel в "Google Лист" на Google диске и получает идентификатор файла var filename = xlsxBlob.getName(); //возвращает имя файла преобразованных файлов var tabName = filename.substring(13).slice(0,filename.length-18); // обработайте строку имени файла только в дату, которая будет именем вкладки var sheet = SpreadsheetApp.openById(convertedSpreadsheetId).getSheets()[0]; // Расположение преобразованного файла Excel -> теперь google sheet var destination = SpreadsheetApp.openById("ID вашего Google Sheets"); //id гугл файла(из ссылки ) var sss=destination.getSheetByName("Имя листа в Google Sheets");//название гугл листа куда летят данные //Удаление файла с Drive Google Drive.Files.remove(convertedSpreadsheetId); labelName='Ваша_Метка в Gmail'; deleteForever(labelName); > function deleteForever(labelName) < var threads = GmailApp.search("in:trash label:" + labelName); for (var i = 0; i < threads.length; i++) < threads[i].moveToTrash(); >>;

Настраиваем триггер как вам удобно: раз в минуты, каждый час и т.д.

Создаем в Gmail папку с меткой(Label) по которой App Script будет анализировать.На этом этапе завершается механизм получение и обработки данных.

Далее, можно запустить процедуру на VBA «Sub sendMail()» для проверки работоспособнисти механизма и использовать по своего целевому назначению.

Заключение

Реализуемый функционал взаимодействия Эксель с Google Sheets, по отправки и получения данных удобен и практичен как в его реализации так и в обработки значительных объемных данных.

Перенос данных из Excel в Google Таблицы и наоборот

В меню Файл выберите пункт Импорт:

Затем перейдите на вкладку Загрузка, нажмите на единственную кнопку Выберите файл на компьютере или перетащите иконку с файлом в это окно:

После того как вы выберете или перетащите файл, появится следующее окно импорта:

В первом случае (Создать таблицу) появится новый документ, во втором (Вставить лист(ы)) — новые листы в текущем документе, а в третьем все данные в текущем документе будут заменены на данные из импортированного файла Excel.

После того как вы выберете подходящий вариант, нажмите кнопку Импортировать.

Экспорт в Excel

Чтобы сохранить таблицу на локальный диск в формате Excel, проделайте следующий путь:

ФайлСкачать какMicrosoft Excel (XLSX)

Книга сохранится на ваш локальный диск.

Обратите внимание, что при экспорте в Excel не сохранятся изображения, которые вы загрузили с помощью функции IMAGE, а результаты работы функций, которых нет в Excel, сохранятся — но как значения. Это касается, например, функций SPLIT, IMPORTRANGE и других функций импорта (IMPORTXML, IMPORTDATA, IMPORTHTML), UNIQUE и COUNTUNIQUE, QUERY, REGEXEXTRACT, GOOGLEFINANCE.

Функции SPARKLINE превратятся в обычные спарклайны Excel.

Отсутствующие в Excel функции при экспорте превращаются в ЕСЛИОШИБКА (IFERROR), где в качестве первого аргумента будет запись вида __xludf.DUMMYFUNCTION (функция), которая и выдаст ошибку в Excel, а в качестве второго аргумента — то значение, которое возвращала эта функция в момент экспорта.

Канал «Google Таблицы — это просто» в Телеграме

Регулярно публикуем новые кейсы и советы. Заглядывайте в гости:

Переход с Google Таблиц на Excel в Интернете

Чтобы загрузить лист в качестве файла Excel, перейдите к листу и нажмите Файл > Загрузить > Microsoft Excel (.xlsx).

Excel в Интернете в веб-браузере и классическое приложение Excel

Можно ли работать над электронной таблицей вместе с другими пользователями?

Конечно! Просто нажмите кнопку Общий доступ в правом верхнем углу.

Кнопка

Что произошло с панелью инструментов и меню?

Отличный вопрос! Первое, что вы увидите при первом запуске Excel, — это строка вкладок в верхней части экрана, а не панель инструментов и меню. Эта строка вкладок называется «лента». На ней находятся все инструменты и кнопки.

На вкладке Главная находятся наиболее часто используемые кнопки и функции: кнопки буфера обмена (такие как вырезание, копирование, вставка) и параметры форматирования (например, цвета, выравнивание и нумерованные списки).

Не забудьте просмотреть правую часть вкладки Главная: здесь находятся команды для вставки строк и столбцов, суммирования чисел и сортировки.

Вкладки

Могу ли я скачать Excel для своего планшета или телефона?

Конечно. Выберите тип устройства из приведенного ниже списка.

Значок Apple

iOS

Значок Android

Android

Как перенести Excel в Google Таблицу: пошаговая инструкция

Если требуется перенести таблицу Excel в Google Таблицы, то это можно сделать двумя способами, описанными ниже.

Видеоинструкция

Загрузка файла в Google Диск

После загрузки можно открыть файл при помощи Google Таблиц.

Открытие файла в Excel в Google Таблицах

Все готово, файл полностью перенесен.

Открытый файл Эксель в Google Таблицах

Второй способ

Для этого открываем нужный файл Excel и копируем таблицу.

Копирование файла Эксель

После открываем Google Таблицу и кликаем правой клавишей мыши и в списке выбираем «Вставить».

Копирование таблицы Excel в Гугл таблицу

Все готово таблица перенесена.

Открытый файл Эксель в Google Таблицах

Важно! В этом случае каждый лист придется переносить отдельно.

Важно! При использовании второго способа формулы не будут перенесены, а лишь в виде значений.

Подписывайтесь на наш канал в Яндекс.Дзен

Подписывайтесь на наш Telegram-канал

Подписывайтесь на наш Youtube-канал

Подписывайтесь на нашу группу ВКонтакте

Вам также будет интересно

Добавить комментарий Отменить ответ

(11 оценок, среднее: 3,64 из 5)

  • Наши социальные сети

Социальные сети

Обзор сервиса Gerwin.io: генерация контента при помощи ИИ

  • Рубрики
    • CRM-системы (9)
    • Excel (73)
    • Google Ads (56)
    • Google Data Studio (26)
    • Google Optimize (2)
    • Google Search Console (22)
    • Google Аналитика (50)
    • Google Менеджер Тегов (4)
    • Google Мой бизнес (3)
    • Opencart (33)
    • SEO (94)
    • SMM (25)
    • WordPress (20)
    • Yandex DataLens (3)
    • Веб-аналитика (148)
    • Визуализация данных (13)
    • Домены (15)
    • Кейсы (6)
    • Контекстная реклама (113)
    • Локальное SEO (8)
    • Полезное (69)
    • Сайтостроение (89)
    • Таргетинг (31)
    • Формулы (16)
    • Яндекс.Вебмастер (56)
    • Яндекс.Директ (66)
    • Яндекс.Маркет (16)
    • Яндекс.Метрика (43)
    • Яндекс.Справочник (6)
  • Свежие комментарии
    • Ильхом Чакканбаев к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
    • Ильхом Чакканбаев к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
    • Ильхом Чакканбаев к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
    • Юзер к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
    • Юзер к записи Бесплатный VPS (VDS) от Oracle навсегда: как получить
  • Интересные статьи
  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *