Как перевести Excel в TXT: все методы экспорта с примерами

При попытке сохранить таблицу Microsoft Excel в формате .txt пользователи часто сталкиваются с проблемой потери форматирования: данные слипаются в одну колонку, разделители заменяются на нечитаемые символы, а кириллические буквы превращаются в "кракозябры". Это происходит из-за неверно выбранной кодировки (ANSI вместо UTF-8) или неправильного разделителя полей (табуляция vs запятая). В 90% случаев проблема решается настройкой параметров экспорта ещё до сохранения файла.

В отличие от конвертации в .csv, где структуру таблицы сохраняют запятые, текстовый формат .txt требует ручного указания разделителя. Если в вашем файле Excel используются формулы, объединённые ячейки или специальные символы (например, знаки валюты), их придётся предварительно преобразовать в значения — иначе в .txt они отобразятся как ошибки #ЗНАЧ!. Ниже разберём все рабочие способы экспорта, включая обработку больших файлов (100+ тыс. строк) и автоматизацию через Power Query.

1. Стандартный экспорт через "Сохранить как"

Самый быстрый метод — использование встроенной функции Файл → Сохранить как. Он подходит для таблиц до 50 тыс. строк, но требует ручной настройки разделителей. Алгоритм:

  1. Откройте файл в Excel (версии 2010–2023 или Microsoft 365).
  2. Перейдите в Файл → Сохранить как → Обзор.
  3. В выпадающем меню "Тип файла" выберите Текстовый файл (*.txt).
  4. Нажмите Сохранить — появится окно "Экспорт текстового файла".

Здесь критично выбрать:

  • 🔹 Кодировку: для кириллицы — UTF-8 (если доступно) или ANSI (Windows-1251).
  • 🔹 Разделитель: Табуляция (для импорта в базы данных) или Запятая (для .csv-подобных файлов).
  • 🔹 Формат ячеек: отметьте Сохранять формат ячеек, если нужны ведущие нули (например, в артикулах 00123).
⚠️ Внимание: Если в таблице есть многострочный текст (ячейки с переносами), при экспорте в .txt он будет обрезан до первой строки. Чтобы избежать потерь, предварительно замените переносы на символ | или другой разделитель через CTRL+H.

Преобразовать формулы в значения (выделить ячейки → CTRL+C → ПКМ → "Значения")|Удалить объединённые ячейки (разъединить через Главная → Объединить и поместить в центре)|Заменить специальные символы (€, ¥, ©) на текстовые эквиваленты|Проверить максимальную длину строки (в .txt ограничение — 1024 символа на строку)

-->

2. Экспорт с помощью Power Query (для больших файлов)

Если таблица содержит более 100 тыс. строк или требуется автоматизация (например, еженедельный экспорт отчётов), используйте Power Query. Этот метод позволяет:

  • 📊 Обрабатывать файлы до 1 млн строк без зависаний.
  • 🔄 Настраивать разделители и кодировку гибко.
  • 🛠️ Применять преобразования (замена текста, фильтрация) перед экспортом.

Пошаговая инструкция:

  1. Выделите данные → Данные → Из таблицы/диапазонаExcel 2016+).
  2. В открывшемся Power Query нажмите Главная → Закрыть и загрузить → Закрыть и загрузить в....
  3. Выберите Только создать соединение.
  4. Перейдите в Данные → Получить данные → Запустить редактор Power Query.
  5. В редакторе нажмите Главная → Дополнительно → Параметры экспорта и выберите Текстовый файл.

Преимущество метода: Power Query сохраняет иерархию данных (например, вложенные таблицы) и позволяет задать пользовательский разделитель (например, ; для европейского формата .csv).

3. Конвертация через VBA-скрипт (для автоматизации)

Для регулярного экспорта (например, ежемесячных отчётов) напишите макрос, который сохраняет данные в .txt с заданными параметрами. Пример кода для экспорта активного листа с разделителем-табуляцией и кодировкой UTF-8:

Sub ExportToTxt()

Dim ws As Worksheet

Dim txtPath As String

Dim fileNum As Integer

Set ws = ActiveSheet

txtPath = "C:\Export\" & ws.Name & ".txt" ' Путь к папке

' Создать файл с кодировкой UTF-8

fileNum = FreeFile()

Open txtPath For Output As #fileNum Access Write Shared

' Экспорт данных с разделителем табуляция

Dim rng As Range, cell As Range

For Each rng In ws.UsedRange.Rows

For Each cell In rng.Cells

Print #fileNum, cell.Value;

If cell.Column < ws.UsedRange.Columns.Count Then Print #fileNum, vbTab;

Next cell

Print #fileNum,

Next rng

Close #fileNum

MsgBox "Экспорт завершён: " & txtPath, vbInformation

End Sub

Чтобы запустить скрипт:

  1. Нажмите ALT+F11 для открытия редактора VBA.
  2. Вставьте код в модуль (Insert → Module).
  3. Запустите макрос через F5.
⚠️ Внимание: Макрос сохраняет только значения ячеек, игнорируя формулы, цвета и форматирование. Для экспорта формул предварительно преобразуйте их в текст через =ФОРМУЛТЕКСТ(A1).

4. Онлайн-конвертеры: плюсы и риски

Если нет возможности использовать Excel (например, на Mac с Numbers или в Linux), воспользуйтесь онлайн-сервисами:

  • 🌐 Zamzar — поддерживает .xlsx до 50 МБ, сохраняет структуру.
  • 🌐 CloudConvert — позволяет выбрать разделитель и кодировку.
  • 🌐 ConvertCSV — специализируется на текстовом формате.

Риски онлайн-конвертации:

  • 🔒 Конфиденциальность: данные обрабатываются на сторонних серверах.
  • 🚫 Ограничения: бесплатные версии обрезают файлы свыше 10–50 МБ.
  • ⚠️ Потеря форматирования: объединённые ячейки и формулы не сохраняются.

Стандартный "Сохранить как"|Power Query|VBA-скрипты|Онлайн-конвертеры|Другой способ-->

5. Особенности экспорта для разных версий Excel

Функциональность экспорта в .txt отличается в зависимости от версии Excel:

Версия Excel Поддержка UTF-8 Макс. строк при экспорте Особенности
Excel 2010–2013 ❌ (только ANSI) 65 536 Требуется ручная замена кодировки в Блокноте после экспорта.
Excel 2016–2019 ✅ (UTF-8 в параметрах) 104 857 Поддержка Power Query для больших файлов.
Microsoft 365 ✅ (UTF-8 по умолчанию) 1 048 576 Автоматическое определение разделителей.
Excel для Mac 104 857 Ограничения на символы в путях файлов.

В Excel 2010 и старше для экспорта в UTF-8 придётся использовать обходной путь:

  1. Сохраните файл в .csv с разделителем-табуляцией.
  2. Откройте его в БлокнотеФайл → Сохранить как.
  3. Выберите кодировку UTF-8 и замените расширение на .txt.
Как проверить кодировку готового TXT-файла?

Откройте файл в Блокноте → если кириллица отображается как "ÐапиÑал", значит кодировка ANSI. Пересохраните с UTF-8. Для проверки также можно использовать Notepad++ (меню "Кодировки").

6. Распространённые ошибки и их решения

Ошибки при конвертации Excel в .txt делятся на 3 категории: кодировка, разделители и структура данных. Разберём типичные проблемы:

🔴 Проблема: Кириллица отображается кракозябрами

Причина: Файл сохранён в кодировке ANSI, но открывается программой, ожидающей UTF-8 (например, Python-скриптом).

Решение:

  • 🔧 Пересохраните файл с кодировкой UTF-8 (см. раздел 1).
  • 🔧 Используйте Notepad++ для конвертации: Кодировки → Преобразовать в UTF-8 без BOM.

🔴 Проблема: Данные сливаются в одну колонку

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

Решение:

  • 📌 При экспорте выберите Табуляция как разделитель.
  • 📌 Если данные уже экспортированы, замените разделители через Блокнот (CTRL+H → заменить запятую на табуляцию \t).

🔴 Проблема: Пропадают ведущие нули

Причина: Excel автоматически удаляет нули в числовых форматах (например, 00123 становится 123).

Решение:

  • 🔢 Преобразуйте столбец в текстовый формат (CTRL+1 → Текстовый).
  • 🔢 Добавьте апостроф перед числом ('00123).

- Первым и последним строкам (часто обрезаются).

- Специальным символам (€, ¥, ©).

- Длинным строкам (могут обрываться).

-->

7. Альтернативные форматы: когда TXT не подходит

Формат .txt удобен для обмена данными между системами, но имеет ограничения:

  • 🚫 Нет поддержки многострочного текста в ячейках.
  • 🚫 Не сохраняет цвета, шрифты, формулы.
  • 🚫 Плохо работает с иерархическими данными (например, сводные таблицы).

Рассмотрите альтернативы:

Формат Когда использовать Преимущества
.csv Импорт в базы данных, Google Sheets Поддержка формул, меньший размер файла
.json API, веб-приложения Сохраняет структуру (вложенные объекты)
.xml Обмен между корпоративными системами Поддержка схем данных (XSD)

Для конвертации в .csv или .json используйте те же методы, что и для .txt, но выбирайте соответствующий формат в меню Сохранить как. В Power Query доступен экспорт в .json через Файл → Экспортировать.

FAQ: Частые вопросы по экспорту Excel в TXT

Можно ли экспортировать в TXT только выделенный диапазон, а не весь лист?

Да. Выделите нужный диапазон → Копировать (CTRL+C) → создайте новый лист → Вставить как значения (CTRL+ALT+V → З) → экспортируйте новый лист.

Почему в итоговом TXT-файле вместо запятых отображаются точки с запятой?

Это зависит от региональных настроек Windows. В европейских версиях Excel разделителем по умолчанию является ;. Чтобы изменить его на ,, перед экспортом выполните:

  1. Откройте Панель управления → Региональные стандарты → Дополнительные параметры.
  2. В поле "Разделитель элементов списка" укажите ,.
  3. Перезапустите Excel.
Как экспортировать данные с сохранением формул (а не значений)?

Формат .txt не поддерживает формулы. Альтернативы:

  • Сохраните файл в .xlsx и архивируйте его.
  • Экспортируйте формулы в текстовый вид через =ФОРМУЛТЕКСТ(A1), затем сохраните как .txt.
Можно ли автоматизировать экспорт TXT для 100 файлов Excel?

Да, с помощью VBA или PowerShell. Пример скрипта для пакетной обработки:

# PowerShell-скрипт для конвертации всех XLSX в TXT в папке

Get-ChildItem "C:\Input\*.xlsx" | ForEach-Object {

$excel = New-Object -ComObject Excel.Application

$workbook = $excel.Workbooks.Open($_.FullName)

$workbook.SaveAs($_.DirectoryName + "\" + $_.BaseName + ".txt", -4158) # -4158 = xlText

$workbook.Close()

$excel.Quit()

}

Скрипт сохраняет файлы с разделителем-табуляцией в кодировке ANSI. Для UTF-8 потребуется дополнительная обработка.

Как импортировать полученный TXT-файл обратно в Excel?

Используйте функцию Данные → Получить данные → Из файла → Из текстового файла. В мастере импорта:

  1. Выберите разделитель (табуляция/запятая).
  2. Укажите кодировку (UTF-8 или Windows-1251).
  3. Настройте формат данных для каждого столбца (текст/дата/число).