Как сохранить документ Excel в формате TXT: 5 рабочих методов с примерами

Почему сохранение Excel в TXT вызывает сложности и когда это действительно нужно

На первый взгляд, преобразование таблицы Microsoft Excel в текстовый файл .txt кажется тривиальной задачей — но на практике пользователи сталкиваются с неожиданными проблемами. Главная сложность кроется в потере структуры данных: Excel оперирует ячейками, строками и формулами, тогда как TXT-файл воспринимает информацию как сплошной текст. Без правильных настроек разделителей (табуляция, запятая, точка с запятой) данные превратятся в хаос, где невозможно будет отличить одну колонку от другой.

Когда действительно требуется такой экспорт? Во-первых, для импорта в другие программы, которые не поддерживают форматы .xlsx или .csv — например, устаревшие бухгалтерские системы или специализированное ПО для научных расчётов. Во-вторых, текстовые файлы часто используются как промежуточный формат при автоматизации задач через скрипты на Python или Bash. Наконец, TXT незаменим, когда нужно передать данные в систему, где запрещены двоичные файлы по соображениям безопасности (например, некоторые государственные порталы).

В этой статье разберём не только базовый способ сохранения через меню Файл → Сохранить как, но и альтернативные методы — от использования Power Query до написания простого макроса на VBA. Особое внимание уделим типичным ошибкам, из-за которых пользователи получают "сломанные" файлы: неправильные кодировки (например, UTF-8 с BOM вместо ANSI), пропавшие разделители или обрезанные длинные строки.

Метод 1: Сохранение через меню "Сохранить как" — базовый способ с подводными камнями

Самый очевидный путь — использовать встроенную функцию Excel. Откройте ваш файл, перейдите в Файл → Сохранить как и выберите тип Текстовый файл (*.txt). Однако здесь кроются нюансы:

  • 📁 Выбор папки: Сохраняйте файл в легко доступное место (например, Рабочий стол), чтобы потом не искать его по всему компьютеру. Системные папки вроде Program Files могут потребовать прав администратора.
  • 🔤 Кодировка: По умолчанию Excel предлагает ANSI, но для кириллицы лучше выбрать UTF-8 (доступно в новых версиях). В старых версиях (до 2016 года) UTF-8 может не отображаться — тогда придётся конвертировать файл отдельно.
  • 📊 Разделители: По умолчанию используется табуляция, но если вам нужен другой символ (например, запятая для CSV-подобного формата), придётся редактировать файл вручную или использовать Power Query.

После сохранения Excel выдаст предупреждение:

⚠️ Внимание: Выбранный формат файла не поддерживает несколько листов. Будет сохранён только активный лист.

Это означает, что если в вашей книге несколько вкладок, придётся сохранять каждую отдельно или использовать макрос (см. Метод 4).

Убедиться, что активен нужный лист

Проверить данные на наличие спецсимволов (кавычки, запятые)

Выбрать правильную кодировку (UTF-8 для многобайтовых символов)

Закрыть все фильтры и сводные таблицы (они не экспортируются)

-->

Метод 2: Экспорт через Power Query — для сложных таблиц с формулами

Если ваш файл содержит формулы, сводные таблицы или данные из внешних источников, простое сохранение через Сохранить как не подойдёт — в TXT-файле окажутся не значения, а сами формулы (например, =СУММ(A1:A10) вместо числа). Решение — использовать Power Query (доступен в Excel 2016 и новее):

  1. Выделите диапазон данных (или нажмите Ctrl+A, чтобы выбрать весь лист).
  2. Перейдите на вкладку ДанныеИз таблицы/диапазона (в группе Получить и преобразовать данные).
  3. В открывшемся окне Power Query нажмите Закрыть и загрузить в... → выберите Только соединение.
  4. Создайте новую книгу и импортируйте данные как Таблицу, затем сохраните её в формате TXT.

Преимущество этого метода — автоматическое преобразование формул в значения и возможность фильтрации данных перед экспортом. Например, вы можете удалить пустые строки или заменить разделители ещё на этапе загрузки в Power Query.

Что делать, если Power Query не виден в меню?

Если у вас Excel 2013 или старше, Power Query может быть отключён. Чтобы его активировать:

1. Перейдите в Файл → Параметры → Надстройки.

2. Внизу окна выберите Управление: Надстройки COMПерейти.

3. Поставьте галочку напротив Microsoft Power Query for Excel и нажмите OK.

После перезапуска Excel вкладка Power Query появится в меню Данные.

Обратите внимание на ограничение: Power Query не сохраняет форматирование ячеек (цвета, шрифты, границы). Если это критично, используйте Метод 3 с предварительным копированием данных в Блокнот.

Метод 3: Копирование через Блокнот — когда нужно сохранить форматирование символов

Если вам важно сохранить специальные символы (например, знаки валют, математические обозначения) или избежать проблем с кодировкой, можно пойти обходным путём:

  1. Выделите нужный диапазон в Excel и скопируйте его (Ctrl+C).
  2. Откройте Блокнот (или другой текстовый редактор, например, Notepad++).
  3. Вставьте данные (Ctrl+V).
  4. Сохраните файл с расширением .txt, выбрав кодировку UTF-8.

Этот метод полезен, когда:

  • 🔣 Нужно сохранить символы Unicode (например, эмодзи или иероглифы), которые искажаются при прямом экспорте из Excel.
  • 📏 Требуется контролировать разрывы строк — в Блокноте можно вручную отредактировать переносы.
  • 🔍 Нужно удалить скрытые символы (например, неразрывные пробелы), которые мешают дальнейшей обработке файла.
⚠️ Внимание: При копировании больших таблиц (более 10 000 строк) Блокнот может "зависнуть" или обрезать данные. В этом случае используйте Notepad++ или сохраняйте данные порциями.

Блокнот (Windows)

Notepad++

Sublime Text

VS Code

Другой-->

Метод 4: Автоматизация через VBA — для пакетной обработки файлов

Если вам регулярно приходится сохранять Excel-файлы в .txt, имеет смысл автоматизировать процесс с помощью макроса. Ниже приведён код, который сохраняет все листы книги в отдельные текстовые файлы с разделителем-табуляцией:

Sub SaveSheetsAsTxt()

Dim ws As Worksheet

Dim savePath As String

savePath = "C:\Temp\" ' Укажите свою папку

For Each ws In ThisWorkbook.Worksheets

ws.Copy

ActiveWorkbook.SaveAs savePath & ws.Name & ".txt", xlText

ActiveWorkbook.Close False

Next ws

End Sub

Чтобы использовать этот макрос:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль (Insert → Module).
  3. Измените путь savePath на нужную папку.
  4. Запустите макрос (F5).

Преимущества метода:

  • Скорость: Обработка десятков файлов занимает секунды.
  • 📂 Гибкость: Можно модифицировать код для сохранения с другими разделителями (например, запятой).
  • 🔄 Повторяемость: Макрос запоминает настройки и не требует ручного ввода параметров.
⚠️ Внимание: Если в названиях листов есть запрещённые символы (например, / \ * ?), макрос выдаст ошибку. Перед запуском переименуйте листы, используя только буквы, цифры и подчёркивания.

Метод 5: Онлайн-конвертеры — когда под рукой нет Excel

Если у вас нет доступа к Microsoft Excel (например, вы работаете на Mac или смартфоне), можно воспользоваться онлайн-сервисами для конвертации. Популярные инструменты:

Сервис Макс. размер файла Поддерживаемые разделители Особенности
Zamzar 50 МБ Табуляция, запятая, точка с запятой Отправляет файл на email после конвертации
CloudConvert 1 ГБ Настраиваемый Поддерживает облачные хранилища (Google Drive, Dropbox)
ConvertCSV 10 МБ Только табуляция Позволяет предварительно редактировать данные

Предупреждения при использовании онлайн-конвертеров:

  • 🔒 Конфиденциальность: Не загружайте файлы с личными данными или коммерческой тайной — они могут сохраняться на серверах сервиса.
  • 📶 Качество связи: При медленном интернете большие файлы могут не загрузиться или конвертироваться с ошибками.
  • 📄 Форматирование: Большинство сервисов не сохраняют формулы — только конечные значения ячеек.

Типичные ошибки и как их избежать

Даже опытные пользователи сталкиваются с проблемами при сохранении Excel в .txt. Рассмотрим самые распространённые:

  1. Искажение кириллицы: Возникает, если выбрана неправильная кодировка. Решение — сохраняйте в UTF-8 (в новых версиях Excel) или используйте Блокнот для перекодировки.
  2. Потеря разделителей: Если в ячейках есть запятые или точки с запятой, они могут восприниматься как разделители колонок. Решение — заключите такие ячейки в кавычки перед экспортом (например, с помощью формулы =""""&A1&"""").
  3. Обрезка длинных строк: Excel ограничивает длину строки в TXT-файле 1024 символами. Если данные длиннее, разбейте их на несколько колонок или используйте Power Query.
  4. Пустые строки в начале файла: Появляются, если в Excel есть скрытые символы. Решение — очистите данные функцией ТРИММ (=TRIM(A1)).

Особое внимание уделите датам и времени: при экспорте в TXT они могут преобразовываться в непонятные числовые форматы (например, 44197 вместо 01.01.2021). Чтобы избежать этого, предварительно отформатируйте ячейки с датами как Текст (Ctrl+1 → Числовой формат → Текстовый).

Как проверить кодировку TXT-файла?

Откройте файл в Блокноте и сохраните его заново, выбрав в выпадающем списке "Кодировка" нужный вариант. Если кириллица отображается как "кракозябры", попробуйте UTF-8 или ANSI. В Notepad++ кодировка отображается в строке состояния и меняется через меню Кодировки.

FAQ: Ответы на частые вопросы

Можно ли сохранить в TXT несколько листов одновременно?

Нет, стандартные средства Excel позволяют сохранять только активный лист. Чтобы экспортировать все листы, используйте Метод 4 с макросом на VBA или сохраняйте каждый лист отдельно.

Почему в TXT-файле вместо формул отображаются странные символы?

Это происходит потому, что Excel сохраняет не значения ячеек, а их формульное представление. Чтобы получить конечные данные, предварительно скопируйте диапазон и вставьте его как Значения (Правая кнопка → Специальная вставка → Значения).

Как сохранить TXT с разделителем-запятой, а не табуляцией?

В стандартном диалоге Сохранить как это невозможно. Альтернативы:

  • Сохраните файл как CSV, затем переименуйте расширение на .txt.
  • Используйте Power Query (см. Метод 2) или макрос на VBA (см. Метод 4).

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

Да, но не через Сохранить как. Скопируйте диапазон (Ctrl+C), вставьте в новый лист (Ctrl+NCtrl+V), затем сохраните этот лист как TXT. Или используйте Power Query для экспорта только нужных данных.

Почему после сохранения в TXT числа отображаются в экспоненциальном формате (например, 1.23E+10)?

Это происходит из-за научной нотации в Excel. Чтобы избежать проблемы, отформатируйте ячейки как Текст (Ctrl+1 → Текстовый) или используйте функцию =ТЕКСТ(A1; "0") для принудительного преобразования.