EXCEL в CSV: как конвертировать качественно и быстро онлайн

💻 IT и кодОбновлено: 13 июля 2026 г.6 мин чтения
Вам нужно перенести таблицу из Excel в другую программу, а она принимает только CSV? Или файл весит 100 МБ и тормозит? Разбираем, как конвертировать XLSX в CSV без потери данных, какие подводные камни у этого формата и когда лучше использовать онлайн-конвертер, чтобы сэкономить время.
⚡ Коротко: главное
  • CSV — это текстовый формат, в котором данные разделены запятыми; он не хранит форматирование, формулы и макросы.
  • При конвертации Excel в CSV через «Сохранить как...» теряются все листы, кроме активного — сохраняется только текущий лист.
  • Excel по умолчанию использует разделитель точку с запятой для русскоязычной локали (из-за запятой в числах).
  • Онлайн-конвертеры, например Excel в CSV, автоматически определяют разделитель и кодировку, что снижает риск ошибок.
  • Для сложных преобразований (выбор листов, настройка кодировки) лучше использовать скрипты на Python или утилиту ssconvert.

Сохранение через Excel: быстро, но с ограничениями

Самый очевидный способ — открыть файл в Microsoft Excel или LibreOffice Calc и выбрать «Файл → Сохранить как → CSV (разделители — запятые)». На 2026 год этот метод всё ещё работает, но у него есть важные особенности.

  • Сохраняется только активный лист. Если в книге 5 листов, придётся сохранять каждый отдельно или использовать макрос.
  • Теряются формулы, форматирование, объединённые ячейки. CSV хранит только «сырые» текстовые значения (результаты вычислений).
  • Проблемы с разделителями. Для русскоязычной версии Excel по умолчанию стоит точка с запятой, а не запятая. Если программа-приёмник ожидает запятую, данные «склеятся».
  • Кодировка. По умолчанию Excel сохраняет в ANSI (Windows-1251), что приводит к кракозябрам в современных системах. Нужно явно выбирать UTF-8.

Чтобы избежать проблем, в Excel 2021+ при сохранении CSV найдите пункт «Сервис → Параметры веб-документа → Кодировка» и выберите Юникод (UTF-8). Либо используйте современные онлайн-инструменты, которые делают это автоматически, например Excel в CSV.

Командная строка и скрипты: полный контроль

Если нужно конвертировать десятки файлов или автоматизировать процесс, используйте командные инструменты. Рассмотрим два популярных варианта.

ssconvert (из пакета Gnumeric)

Утилита ssconvert работает в Windows (через WSL или Cygwin) и Linux. Пример команды для конвертации всех листов в отдельные CSV:

ssconvert --export-type=Gnumeric_stf:stf_assistant myfile.xlsx myfile.csv

По умолчанию создаётся один CSV с первым листом. Чтобы получить CSV для каждого листа, используйте:

ssconvert -O "separator=; sheet=1" myfile.xlsx sheet1.csv
ssconvert -O "separator=, sheet=2" myfile.xlsx sheet2.csv

Python + openpyxl (рекомендую)

Скрипт ниже конвертирует все листы в отдельные CSV с возможностью выбора разделителя и кодировки:

import openpyxl
import csv
import os

wb = openpyxl.load_workbook('myfile.xlsx')
for sheet_name in wb.sheetnames:
    ws = wb[sheet_name]
    with open(f'{sheet_name}.csv', 'w', newline='', encoding='utf-8') as f:
        writer = csv.writer(f, delimiter=',')
        for row in ws.iter_rows(values_only=True):
            writer.writerow(row)
print('Готово!')
ПараметрОписаниеПример
delimiterРазделитель между значениями',' или ';'
encodingКодировка выходного файла'utf-8' или 'cp1251'
values_onlyБрать результаты формул, а не сами формулыTrue

Онлайн-конвертер: для разовых задач и нестандартных файлов

Когда нет времени возиться с настройками или нужно быстро конвертировать файл без установки софта, выручает онлайн-конвертер. На 2026 год такие сервисы работают прямо в браузере, не отправляя данные на сервер (или с шифрованием).

  • Выбор листов. Можно экспортировать конкретный лист или все сразу — в отличие от Excel.
  • Автоопределение разделителя. Большинство сервисов сами подбирают запятую или точку с запятой в зависимости от содержимого.
  • Настройка кодировки. Всегда выбирайте UTF-8 для совместимости с современными системами.

Наш сайт предлагает удобный Excel в CSV, который позволяет загрузить файл и за несколько секунд получить готовый CSV. Если вам нужно преобразовать данные в другой формат, например Excel в JSON или Excel в HTML — тоже можно.

Важно: Если в Excel есть макросы, VBA-проекты или сложные сводные таблицы, они не попадут в CSV. CSV — это только данные.

Пошаговый пример конвертации заказа (с цифрами)

Допустим, у нас есть Excel-файл с заказами клиентов за июнь 2026 года. Нам нужно передать его в CRM, которая принимает только CSV. Рассмотрим процесс на примере таблицы.

ДатаКлиентСумма, ₽Статус
01.06.2026Иванов12 500Оплачен
02.06.2026Петров8 200В обработке
03.06.2026Сидоров22 000Отменён

Шаг 1. Открываем файл и проверяем, нет ли объединённых ячеек — они дадут пустые строки в CSV.
Шаг 2. Используем Excel в CSV: загружаем файл, выбираем лист «Июнь», разделитель — запятая, кодировка — UTF-8. Нажимаем «Конвертировать».
Шаг 3. Получаем CSV-файл:

Дата,Клиент,Сумма,Статус
01.06.2026,Иванов,12500,Оплачен
02.06.2026,Петров,8200,В обработке
03.06.2026,Сидоров,22000,Отменён

Шаг 4. Импортируем в CRM. Если CRM ожидает точку с запятой, повторяем конвертацию с разделителем ;. Если числа отображаются без пробелов — всё верно, CSV не хранит форматирование чисел.

Процесс конвертации Excel в CSV
  1. 1
    1. Проверить данные

    Удалить объединённые ячейки, пустые строки, привести даты к тексту.

  2. 2
    2. Выбрать инструмент

    Excel, онлайн-конвертер или Python-скрипт.

  3. 3
    3. Настроить разделитель

    Обычно запятая или точка с запятой.

  4. 4
    4. Задать кодировку

    UTF-8 для совместимости.

  5. 5
    5. Сохранить и проверить

    Открыть CSV в блокноте: каждая строка — одна запись.

Пять шагов от файла до готового CSV

Подводные камни: даты, числа и экранирование

При конвертации Excel в CSV часто возникают неочевидные проблемы. Разберём основные.

  • Даты. Excel хранит даты как числа (количество дней с 1900 года). При сохранении в CSV они могут превратиться в числа, если не настроить формат. Лучше предварительно перевести даты в текст (например, через формулу =TEXT(A1,"DD.MM.YYYY")).
  • Числа с разделителями. В Excel число 12 500 (с пробелом) — это текст. Если просто скопировать, в CSV может попасть «12 500» как строка. Используйте числовой формат без пробелов.
  • Экранирование запятых. Если в тексте ячейки есть запятая, CSV-парсер может сломаться. По стандарту такие значения берутся в двойные кавычки. Excel делает это автоматически, но если конвертируете вручную — следите за кавычками.
  • Пустые строки. Если в конце файла есть пустые строки, они попадут в CSV. Удалите лишние строки перед конвертацией.
Чтобы проверить корректность CSV, откройте его в блокноте — вы должны увидеть строки с чётким разделением. Если данные «съехали», вернитесь к настройкам разделителя.

Чек-лист для конвертации без ошибок

0 из 8

Когда CSV не подходит: альтернативы

CSV универсален, но есть случаи, когда он неудобен. Рассмотрите альтернативы:

  • JSON — если данные имеют вложенную структуру (например, заказ со списком товаров). Используйте Excel в JSON.
  • HTML — если нужно встроить таблицу на веб-страницу. Конвертер Excel в HTML создаст чистый код с таблицей.
  • TSV — если в данных много запятых (лучше использовать табуляцию).

Если вам нужно сохранить форматирование (цвета, шрифты) — используйте PDF или прямое копирование из Excel.

Автоматизация: конвертация большого количества файлов

Для массовой конвертации десятков Excel-файлов в CSV используйте скрипты. Пример на Python с библиотекой glob:

import openpyxl
import csv
import glob
import os

for xlsx_file in glob.glob('*.xlsx'):
    wb = openpyxl.load_workbook(xlsx_file)
    for sheet_name in wb.sheetnames:
        ws = wb[sheet_name]
        csv_filename = f'{os.path.splitext(xlsx_file)[0]}_{sheet_name}.csv'
        with open(csv_filename, 'w', newline='', encoding='utf-8') as f:
            writer = csv.writer(f, delimiter=';')
            for row in ws.iter_rows(values_only=True):
                writer.writerow(row)
print('Все файлы сконвертированы')

Запустите скрипт в папке с XLSX-файлами — он создаст для каждого листа отдельный CSV. Убедитесь, что кодировка и разделитель соответствуют требованиям принимающей системы.

Частые ошибки и их решение

Собрали типичные проблемы при конвертации Excel в CSV и способы их исправить.

ОшибкаПричинаРешение
Кракозябры вместо текстаНеверная кодировкаСохраняйте в UTF-8
Числа отображаются как датыExcel хранит даты числомФормула =TEXT() превращает дату в текст
Данные в одной колонкеРазделитель не совпадаетИзмените запятую на точку с запятой в настройках
Пропущенные значения в начале строкОбъединённые ячейкиОтмените объединение, заполните пустые
Если после конвертации в CSV данные выглядят не так, как в Excel, проверьте исходную таблицу на наличие скрытых символов (неразрывные пробелы, переносы строк).

🧮 Посчитайте сами — инструменты по теме

🧭 Разделы по теме

Частые вопросы

Как конвертировать Excel в CSV без потери формул?

CSV не хранит формулы. Перед конвертацией скопируйте формулы как значения (Ctrl+C → Ctrl+V > Вставить значения). Или сохраните исходный XLSX для редактирования.

Почему в CSV вместо чисел отображаются даты?

Excel хранит даты как числа. При конвертации они могут превратиться в числа. Используйте формулу =TEXT(A1,"DD.MM.YYYY") для преобразования даты в текст перед экспортом.

Как изменить разделитель в CSV?

В Excel при сохранении CSV выберите «Файл → Параметры → Дополнительно → Разделитель списка» (для Windows). В онлайн-конвертерах обычно есть явный выбор разделителя.

Как конвертировать несколько листов Excel в CSV?

По умолчанию Excel сохраняет только активный лист. Используйте макрос VBA, Python скрипт с openpyxl или онлайн-конвертер, поддерживающий множественные листы.

Можно ли конвертировать Excel в CSV без потери форматирования?

CSV не хранит форматирование. Если нужны цвета, шрифты, границы — используйте PDF или сохраните как XLSX.

Какая кодировка лучше для CSV?

UTF-8 (с BOM для Excel) — наиболее совместимая. Для русскоязычных систем может потребоваться Windows-1251.

Что делать, если в CSV кракозябры?

Откройте файл в блокноте и пересохраните в кодировке UTF-8. Либо укажите кодировку при импорте (например, utf-8).

Источники и нормативные документы

  1. Microsoft Support: Преобразование листа Excel в CSV
  2. MDN: CSV MIME type
  3. openpyxl documentation
  4. Python CSV module

Ещё по теме «IT и код»