Перенос писем из почтового клиента в Excel — задача, с которой сталкиваются бухгалтеры, менеджеры по продажам и HR-специалисты. Кто-то нуждается в архиве переписки для отчётности, кому-то требуется анализировать данные из писем (например, заказы или заявки), а некоторые просто хотят структурировать важную информацию. В этой статье разберём все актуальные способы — от элементарного копирования текста до автоматизированного экспорта с помощью скриптов и надстроек.
Многие ошибочно считают, что для этой задачи обязательно нужен опыт программирования или покупка дорогостоящего ПО. На самом деле, даже начинающий пользователь Microsoft Excel или Google Таблиц может справиться за 5–10 минут, выбрав подходящий метод. Главное — понимать, какой объём данных вам нужен и как часто придётся повторять операцию.
Если вы работаете с единичными письмами, достаточно ручного копирования. Для регулярного экспорта сотен писем потребуются инструменты посерьёзнее — от встроенных функций почтовых клиентов до специализированных парсеров. Мы рассмотрим варианты для Outlook, Gmail, Yandex Почты и универсальные решения, которые работают с любым сервисом.
1. Ручное копирование: быстрый способ для 1–2 писем
Самый простой метод — выделить текст письма и вставить его в ячейку Excel. Он подходит, если вам нужно перенести 1–2 сообщения или фрагменты из них (например, адрес отправителя, тему или ключевые данные).
Откройте письмо в почтовом клиенте (например, Gmail или Outlook), выделите нужный текст мышью и нажмите Ctrl+C. Затем перейдите в Excel, выберите ячейку (например, A1) и вставьте данные комбинацией Ctrl+V. Если форматирование не важно, используйте специальную вставку (Ctrl+Alt+V → выберите «Текст»).
Для структурированных данных (таблиц внутри письма) этот метод не подходит — при вставке форматирование почти всегда «ломается». В таких случаях лучше использовать экспорт в CSV (разберём ниже).
- ✅ Плюсы: не требует навыков, работает в любом почтовом сервисе.
- ❌ Минусы: трудоёмко для большого количества писем, теряется структура.
- ⚠️ Ограничение: в Outlook при копировании таблиц из письма в Excel могут «съехать» столбцы.
2. Экспорт писем в CSV: полуавтоматический метод
Большинство почтовых клиентов позволяют экспортировать письма в формат .csv, который затем легко открыть в Excel. Этот способ подходит для переноса десятков или сотен писем за раз.
В Gmail для этого используйте Google Apps Script (бесплатный инструмент). Перейдите в Extensions → Apps Script, вставьте скрипт для экспорта писем (пример ниже) и запустите его. Результат сохранится в Google Диске как CSV-файл, который откроется в Google Таблицах или Excel.
function exportEmailsToCSV() {
const label = GmailApp.getUserLabelByName("Экспорт"); // Укажите метку писем
const threads = label.getThreads();
let csv = "Дата,Отправитель,Тема,Текст\n";
threads.forEach(thread => {
const messages = thread.getMessages();
messages.forEach(message => {
csv += `"${message.getDate()}",` +
`"${message.getFrom()}",` +
`"${message.getSubject()}",` +
`"${message.getPlainBody().replace(/"/g, '""')}"\n`;
});
});
DriveApp.createFile("emails_export.csv", csv, "text/csv");
}
В Outlook экспорт ещё проще: перейдите в Файл → Открыть и экспортировать → Импорт/экспорт → Экспорт в файл → Значения, разделённые запятыми (.csv). Выберите папку с письмами и сохраните файл. При открытии в Excel данные автоматически разобьются по столбцам.
⚠️ Внимание: В CSV-файле из Outlook кириллические символы могут отображаться кракозябрами. Чтобы исправить это, откройте файл в Блокноте, сохраните с кодировкойUTF-8, а затем импортируйте в Excel черезДанные → Из текста/CSV.
| Почтовый клиент | Способ экспорта | Формат файла | Ограничения |
|---|---|---|---|
| Gmail | Google Apps Script | CSV | Требует базовых знаний JS |
| Outlook (десктоп) | Встроенный экспорт | CSV | Проблемы с кодировкой кириллицы |
| Yandex Почта | Парсер через API | CSV/JSON | Нужно получить OAuth-токен |
| Mail.ru | Ручной копипаст или скрипты | Текст/CSV | Нет встроенного экспорта |
3. Использование надстроек Excel для автоматического импорта
Если вам нужно регулярно обновлять данные из писем в Excel, установите специализированные надстройки. Они подключаются к почтовому ящику через API и тянут актуальную информацию по расписанию.
Для Outlook подойдёт надстройка Power Query (встроена в Excel 2016+). Откройте Для Gmail используйте надстройку Coupler.io или ZapierДанные → Получить данные → Из других источников → Из Outlook. Выберите папку с письмами и настройте параметры импорта. Power Query позволяет фильтровать письма по дате, отправителю или ключевым словам в теме.
- 🔧 Power Query: бесплатно, работает с Outlook и Exchange, поддерживает фильтрацию.
- 🌐 Coupler.io: платный (от $24/мес), интеграция с Gmail, Outlook, IMAP.
- ⚡ Zapier: бесплатно до 100 задач/мес, подходит для автоматического обновления.
Выбрать источник "Outlook"|Указать папку с письмами|Отфильтровать по дате/отправителю|Преобразовать данные в таблицу|Загрузить в Excel-->
4. Парсинг писем через IMAP: для технически подкованных
Если почтовый клиент поддерживает протокол IMAP (большинство сервисов, включая Gmail, Yandex, Mail.ru), вы можете подключиться к ящику напрямую из Excel с помощью VBA-макроса или Python-скрипта. Этот метод даёт максимальную гибкость, но требует навыков программирования.
Пример VBA-кода для подключения к Gmail через IMAP и экспорта писем в лист Excel:
Sub GetEmailsFromGmail()
Dim olApp As Object, olNs As Object, olFolder As Object
Dim olMail As Object, i As Integer
Set olApp = CreateObject("Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
' Подключение к учётной записи Gmail (должна быть настроена в Outlook)
Set olFolder = olNs.Folders("your.email@gmail.com").Folders("Inbox")
' Экспорт последних 10 писем
i = 1
For Each olMail In olFolder.Items
If i > 10 Then Exit For
Cells(i, 1).Value = olMail.SentOn
Cells(i, 2).Value = olMail.SenderName
Cells(i, 3).Value = olMail.Subject
Cells(i, 4).Value = olMail.Body
i = i + 1
Next olMail
End Sub
Для Python используйте библиотеку imaplib. Установите её через команду pip install imaplib, затем запустите скрипт:
import imaplib
import csv
from email.header import decode_header
Подключение к серверу IMAP
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('your.email@gmail.com', 'your_password_or_app_token')
mail.select('inbox')
Поиск писем
status, messages = mail.search(None, 'ALL')
mail_ids = messages[0].split()
Экспорт в CSV
with open('emails.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['Date', 'From', 'Subject', 'Body'])
for mail_id in mail_ids:
status, msg_data = mail.fetch(mail_id, '(RFC822)')
# ... парсинг данных письма ...
writer.writerow([date, sender, subject, body])
mail.close()
mail.logout()
⚠️ Внимание: Для Gmail вместо пароля используйте App Password (сгенерируйте его в настройках аккаунта Google → Безопасность → Двухэтапная аутентификация → Пароли приложений). Обычный пароль не сработает, если включена 2FA.
Как получить IMAP-доступ для Yandex Почты?
1. Перейдите в Настройки → Почта → Почтовые программы.
2. Включите опцию IMAP и сохраните изменения.
3. Сервер IMAP для Yandex: imap.yandex.ru, порт 993.
4. Используйте свой обычный пароль или приложение-пароль, если включена двухфакторная аутентификация.
5. Экспорт вложений из писем: таблицы, PDF, документы
Часто в письмах содержатся вложения — .xlsx, .pdf или .docx, которые тоже нужно перенести в Excel. Для этого используйте комбинацию методов:
В Outlook:
1. Откройте письмо с вложением.
2. Сохраните файл на диск через Файл → Сохранить вложения.
3. В Excel импортируйте данные из сохранённого файла:
- Для .xlsx: Данные → Из книги.
- Для .pdf: используйте Power Query (в Данные → Получить данные → Из файла → Из PDF).
- Для .docx: скопируйте таблицы вручную или конвертируйте в .xlsx через Word.
В Gmail для автоматического экспорта вложений настройте фильтр:
1. Создайте фильтр по ключевым словам (например, «отчёт»).
2. Укажите действие «Переслать на адрес» и отправляйте письма на сервис вроде Zapier или Make (ex-Integromat).
3. Настройте автоматическое сохранение вложений в Google Диск или Excel Online.
- 📄 PDF: используйте Adobe Acrobat для экспорта таблиц в
.xlsx. - 📊 Excel-файлы: открывайте напрямую или объединяйте данные через Power Query.
- 📝 Word-документы: копируйте таблицы или конвертируйте в
.xlsxчерезФайл → Сохранить как.
6. Обработка данных после импорта: очистка и структурирование
После переноса писем в Excel данные часто требуют доработки: удаление лишних символов, разбивка на столбцы, извлечение ключевой информации. Вот основные приёмы:
Для удаления лишних пробелов и переносов строк используйте функцию Если письма содержат таблицы в формате HTML, используйте Power Query для парсинга:
1. Импортируйте данные как 2. В редакторе Power Query выберите столбец с HTML-кодом. 3. Примените преобразование Если вы еженедельно переносите письма в Excel, автоматизируйте процесс с помощью VBA-макросов. Например, этот макрос экспортирует письма из Outlook в текущую книгу Excel по заданным критериям:
Dim olApp As Object, olNs As Object, olFolder As Object Dim olMail As Object, i As Integer Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Письма") ' Лист для экспорта ws.Cells.Clear ' Подключение к Outlook Set olApp = CreateObject("Outlook.Application") Set olNs = olApp.GetNamespace("MAPI") Set olFolder = olNs.GetDefaultFolder(6) ' 6 = папка "Входящие" ' Заголовки столбцов ws.Cells(1, 1).Value = "Дата" ws.Cells(1, 2).Value = "Отправитель" ws.Cells(1, 3).Value = "Тема" ws.Cells(1, 4).Value = "Текст" ' Экспорт писем (например, за последние 7 дней) i = 2 For Each olMail In olFolder.Items If olMail.ReceivedTime > Date - 7 Then ws.Cells(i, 1).Value = olMail.ReceivedTime ws.Cells(i, 2).Value = olMail.SenderName ws.Cells(i, 3).Value = olMail.Subject ws.Cells(i, 4).Value = olMail.Body i = i + 1 End If Next olMail End Sub Чтобы макрос запускался автоматически, добавьте его в Важно: при работе с макросами в Excel отключите блокировку выполнения скриптов в настройках безопасности ( Да, но только для Outlook через Power Query или VBA. Для Gmail и других сервисов потребуется промежуточный экспорт в CSV или использование сторонних надстроек вроде Coupler.io. Если таблица в письме в формате HTML, используйте Power Query:
Для Outlook сохраните письмо как =ПЕЧСИМВ(A1) (убирает непечатаемые символы) или =СЖПРОБЕЛЫ(A1). Чтобы разбить текст по разделителю (например, извлечь email отправителя из строки «Иванов Иван =ТЕКСТДО(";" & A1 & ";"; " <")Из таблицы/диапазона.Извлечь → Текст после разделителя (указывайте теги вроде <td>).
Проблема
Решение в Excel
Формула/Инструмент
Лишние пробелы
Удаление
=СЖПРОБЕЛЫ(A1)
HTML-теги в тексте
Очистка
=ПОДСТАВИТЬ(A1; "<br>"; CHAR(10))
Дата в нестандартном формате
Преобразование
=ДАТАЗНАЧ(ПОДСТАВИТЬ(A1; "янв"; "01"))
Разбивка полей (например, "Имя Фамилия
Извлечение подстроки
=ТЕКСТПОСЛЕ(A1; " <")7. Автоматизация с помощью макросов: для регулярных задач
Sub ExportOutlookEmailsToExcel()
ThisWorkbook с событием Open или настройте кнопку на листе. Для Gmail аналогичную логику реализуйте через Google Apps Script с триггером по времени.
Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройка макросов → Включить все макросы).
FAQ: Частые вопросы по переносу писем в Excel
Можно ли экспортировать письма из почты напрямую в Excel без промежуточных файлов?
Как перенести в Excel только таблицы из писем, игнорируя остальной текст?
Данные → Из других источников → Из веб)..msg, затем используйте VBA для извлечения таблиц.
Почему при экспорте из Outlook в CSV русские буквы отображаются кракозябрами?
Проблема в кодировке. Решения:
- Откройте CSV в Блокноте, сохраните с кодировкой
UTF-8. - Импортируйте в Excel через
Данные → Из текста/CSVи выберите кодировку65001 (Unicode UTF-8). - Используйте Power Query для импорта — он автоматически распознаёт кодировку.
Как автоматически обновлять данные в Excel при поступлении новых писем?
Настройте автоматическое обновление через:
- Power Query в Outlook:
Данные → Обновить все(можно задать расписание). - Zapier/Make для Gmail: создайте сценарий с триггером «Новое письмо» и действием «Обновить Google Sheets/Excel».
- VBA-макрос с таймером: используйте
Application.OnTimeдля периодического запуска.
Можно ли экспортировать письма из мобильной версии Gmail или Outlook?
Прямого экспорта в Excel с телефона нет, но есть обходные пути:
- Перешлите письма на рабочий email, затем импортируйте на ПК.
- Используйте приложения вроде Microsoft Lens для сканирования таблиц из писем в Excel.
- Для Gmail настройте автоматическую пересылку писем на сервис вроде Zapier, который сохранит данные в Google Таблицы.