Как перевести файл Excel в TXT: все способы с сохранением данных

Зачем конвертировать Excel в текстовый формат и когда это необходимо

Работа с данными в Microsoft Excel или Google Sheets удобна для анализа и визуализации, но иногда требуется экспортировать информацию в универсальный текстовый формат TXT. Этот формат не сохраняет форматирование ячеек, формулы или графики, зато гарантирует совместимость с любыми системами — от устаревших бухгалтерских программ до современных скриптов на Python.

Основные случаи, когда конвертация оправдана:

  • 📤 Импорт в базы данных — многие SQL-системы принимают данные только из плоских текстовых файлов с разделителями.
  • 🤖 Автоматизация процессов — скрипты часто работают с .txt или .csv, но не с бинарными .xlsx.
  • 📱 Перенос на мобильные устройства — текстовые файлы открываются даже на смартфонах без специализированных приложений.
  • 🔒 Архивирование — TXT-файлы не содержат макросов или скрытых данных, что снижает риски вирусов.

Важно понимать разницу между форматами: .txt — это "чистый" текст без структуры, а .csv (который тоже текстовый) сохраняет табличную организацию через разделители (запятые, точки с запятой). В этой статье речь пойдёт именно о полном преобразовании в TXT, когда каждая ячейка становится отдельной строкой или все данные сливаются в один блок.

📊 Для чего вам нужно конвертировать Excel в TXT?
Для импорта в 1С
Для обработки скриптом
Для передачи коллегам
Для архивации
Другое

Способ 1: Сохранение через "Файл → Сохранить как" в Excel

Самый очевидный метод — использовать встроенную функцию Excel. Он подходит для одноразовых задач и не требует дополнительных программ. Вот как это сделать:

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

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

⚠️ Внимание: При сохранении в текстовом формате будут потеряны все формулы, форматирование и данные на нескольких листах. Excel предложит сохранить только активный лист. Если в файле несколько таблиц, повторите операцию для каждого листа отдельно.

☑️ Подготовка к сохранению в TXT

Выполнено: 0 / 4

Особенности метода:

  • 🔹 Сохраняет данные только с одного листа — для остальных придётся повторять процесс.
  • 🔹 Разделителем по умолчанию выступает табуляция (как в .tsv).
  • 🔹 Кодировка файла зависит от региональных настроек Windows (обычно Windows-1251 для русского языка).

Способ 2: Экспорт через "Текст по столбцам" для структурированного вывода

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

Инструкция:

  1. Выделите диапазон ячеек, который нужно экспортировать (например, A1:D100).
  2. Скопируйте его (Ctrl+C).
  3. Откройте Блокнот или другой текстовый редактор.
  4. Вставьте данные (Ctrl+V).
  5. Вручную замените пробелы или табуляции на нужные разделители (например, ; или ,) с помощью функции Заменить (Ctrl+H).

Пример результата до и после замены:

Исходные данные (вставка из Excel)После замены табуляции на ;
Иванов Пётр 35 МоскваИванов;Пётр;35;Москва
Петрова Анастасия 28 Санкт-ПетербургПетрова;Анастасия;28;Санкт-Петербург

Этот способ требует ручной доработки, но даёт полный контроль над конечным форматом. Например, вы можете:

  • 📌 Добавить заголовки столбцов в первую строку.
  • 📌 Удалить пустые строки или столбцы.
  • 📌 Преобразовать даты в универсальный формат (например, ГГГГ-ММ-ДД).

Способ 3: Конвертация через Power Query (для сложных таблиц)

Если ваш файл содержит многоуровневые заголовки, объединённые ячейки или нестандартные данные, обычное сохранение в TXT приведёт к хаосу. В этом случае поможет Power Query — инструмент для трансформации данных, встроенный в Excel 2016 и новее.

Алгоритм действий:

  1. Выделите исходную таблицу и перейдите во вкладку Данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query приведите данные к плоской структуре:
    • Разделите объединённые столбцы (Главная → Разделить столбец).
    • Замените ошибки или пустые значения (Главная → Заменить значения).
    • Преобразуйте типы данных (например, даты в текст).
  • Нажмите Главная → Закрыть и загрузить в... и выберите Только создать соединение.
  • Сохраните результат как .txt через Данные → Получить данные → Запустить.
  • Как обработать объединённые ячейки в Power Query?

    Объединённые ячейки в Excel приводят к ошибкам при экспорте. В Power Query их нужно разделить: выделите столбец → Главная → Разделить столбец → По разделителю → укажите символ (например, пробел или запятую). Если данные не имеют явного разделителя, используйте опцию По количеству символов и укажите фиксированную длину.

    Power Query автоматически генерирует M-код (язык запросов), который можно сохранить и использовать для повторной обработки аналогичных файлов. Это удобно, если вам регулярно приходится конвертировать данные из одного и того же источника.

    Способ 4: Онлайн-конвертеры — быстро, но с рисками

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

    • 🌐 Convertio — поддерживает пакетную обработку и облачные хранилища (Google Drive, Dropbox).
    • 🌐 Zamzar — отправляет результат на email, подходит для больших файлов (до 50 МБ).
    • 🌐 CloudConvert — позволяет настроить разделители и кодировку.

    Предупреждения при работе с онлайн-сервисами:

    ⚠️ Внимание:
    1. Загружаемые файлы могут оставаться на серверах сервиса до 24 часов — не используйте этот метод для конфиденциальных данных (персональная информация, финансовые отчёты).
    2. Некоторые сервисы добавляют водяные знаки или ограничивают бесплатное использование (например, до 10 файлов в день).
    3. Проверяйте кодировку результата: русские буквы могут отобразиться как Москва при неправильной настройке.

    Пример настроек в CloudConvert для корректного экспорта:

    ПараметрРекомендуемое значение
    Разделитель полейТабуляция или Точка с запятой
    КодировкаUTF-8 (для многобайтовых символов)
    Кавычки для текстаДвойные (если в данных есть запятые)
    Разделитель строкCRLF (Windows)

    Способ 5: Автоматизация через скрипты (Python, VBA)

    Для регулярной конвертации сотен файлов ручные методы не подходят. В этом случае поможет автоматизация с помощью скриптов.

    Вариант 1: Макрос VBA в Excel

    Откройте редактор VBA (Alt+F11), создайте новый модуль и вставьте код:

    Sub ExportToTXT()
    

    Dim ws As Worksheet

    Dim txtPath As String

    txtPath = "C:\Export\" & ActiveSheet.Name & ".txt"

    Open txtPath For Output As #1

    For Each ws In ThisWorkbook.Worksheets

    For Each cell In ws.UsedRange

    Print #1, cell.Value

    Next cell

    Next ws

    Close #1

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

    End Sub

    Этот скрипт сохраняет все ячейки со всех листов в один файл, каждая ячейка — с новой строки. Для разделения столбцов табуляцией замените Print #1, cell.Value на Write #1, cell.Value.

    Вариант 2: Скрипт на Python

    Установите библиотеку pandas (pip install pandas) и выполните:

    import pandas as pd
    

    df = pd.read_excel("input.xlsx", sheet_name="Лист1")

    df.to_csv("output.txt", sep='\t', index=False, encoding='utf-8')

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

    • 🐍 Обработка нескольких файлов в пакетном режиме.
    • 🐍 Гибкая настройка разделителей, кодировки и формата данных.
    • 🐍 Возможность предварительной очистки данных (удаление дубликатов, замена значений).

    Распространённые ошибки и как их избежать

    Даже при кажущейся простоте процесса пользователи часто сталкиваются с проблемами. Вот типичные ошибки и их решения:

    ПроблемаПричинаРешение
    Русские буквы отображаются как ????Неверная кодировка (например, ANSI вместо UTF-8)При сохранении выберите UTF-8 или откройте файл в Блокноте и пересохраните с правильной кодировкой.
    Данные "слиплись" в одну строкуОтсутствует разделитель между ячейкамиИспользуйте Текст по столбцам или настройте разделитель в скрипте.
    Числа преобразуются в научный формат (1.23E+10)Excel автоматически округляет большие числаПеред экспортом отформатируйте ячейки как Текст (Ctrl+1 → Числовой формат → Текстовый).
    Пропущены пустые ячейкиНастройки экспорта игнорируют пустые значенияЗамените пустоты на placeholder (например, NULL) через Найти и заменить.

    Особое внимание уделите датам: Excel хранит их как числа (количество дней с 1900 года), и при некорректном экспорте вы получите значения вроде 44197 вместо 01.01.2021. Чтобы избежать этого, преобразуйте даты в текстовый формат заранее:

    1. Выделите столбец с датами.
    2. Нажмите Ctrl+1 и выберите формат Текстовый.
    3. Скопируйте столбец и вставьте его поверх старого через Специальная вставка → Значения.

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

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

    Нет, стандартные инструменты Excel позволяют экспортировать только один активный лист за раз. Для пакетной обработки используйте:

    • Макрос VBA (см. Способ 5).
    • Скрипт на Python с библиотекой pandas.
    • Специализированные программы вроде ExcelToText.
    Почему после конвертации числа отображаются с точкой вместо запятой (например, 1.23 вместо 1,23)?

    Это зависит от региональных настроек Windows. Чтобы исправить:

    1. Откройте Панель управления → Часы и регион → Изменение форматов даты, времени и чисел.
    2. На вкладке Форматы измените Разделитель целой и дробной части на ,.
    3. Перезапустите Excel и повторите экспорт.

    Альтернатива: замените точки на запятые в текстовом редакторе (Ctrl+H).

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

    Способы:

    • Скопируйте диапазон (Ctrl+C) и вставьте в Блокнот, затем сохраните как .txt.
    • Используйте Power Query: загрузите только нужный диапазон (Данные → Из таблицы/диапазона) и экспортируйте результат.
    • В VBA модифицируйте скрипт, указав конкретный диапазон: For Each cell In ws.Range("A1:D100").
    Можно ли вернуть данные из TXT обратно в Excel без потерь?

    Теоретически да, но на практике это зависит от:

    • Наличия разделителей между столбцами (если их нет, Excel сливает данные в одну ячейку).
    • Кодировки файла (при неправильной кодировке русские буквы становятся нечитаемыми).
    • Формата чисел и дат (текстовые значения "01.01.2021" не преобразуются обратно в даты автоматически).

    Для импорта используйте Данные → Из текста и следуйте мастеру импорта, указав правильный разделитель и формат данных.

    Какие альтернативы TXT подходят для обмена данными?

    Если TXT не подходит из-за отсутствия структуры, рассмотрите:

    ФорматПреимуществаНедостатки
    .csvСохраняет табличную структуру, поддерживается всеми программамиНет поддержки нескольких листов, проблемы с многобайтовыми символами
    .jsonУдобен для веб-приложений, поддерживает иерархические данныеСложнее для ручного редактирования, больше "весит"
    .xmlСтандарт для обмена между корпоративными системамиИзбыточный синтаксис, медленная обработка больших файлов