Форматы · Конвертация

Как конвертировать Excel в CSV: кодировка, разделители и пошаговая инструкция

Excel — главный формат для таблиц в офисе, CSV — стандарт для обмена данными между программами и базами данных. Конвертация кажется простой, но именно здесь кириллические данные чаще всего «ломаются»: кодировка и разделители работают иначе, чем ожидает пользователь. Разбираем 4 рабочих способа — с решением типичных проблем.

Опубликовано: 24 сентября 2026 Редакция Loadfile Чтение ~12 мин
Как конвертировать Excel в CSV: кодировка, разделители и пошаговая инструкция
Содержание
  1. Что такое CSV и зачем конвертировать из Excel
  2. Способ 1: Сохранить как CSV в Microsoft Excel
  3. Способ 2: LibreOffice Calc — экспорт с настройками
  4. Способ 3: Онлайн-конвертеры
  5. Способ 4: Python (pandas) — для автоматизации
  6. Кодировка CSV: UTF-8, UTF-8 с BOM или Windows-1251
  7. Разделитель в CSV: запятая или точка с запятой
  8. Частые ошибки и как их исправить
  9. Часто задаваемые вопросы

Excel — главный формат для таблиц в офисе, CSV — стандарт для обмена данными между программами и базами данных. Конвертация кажется простой, но именно здесь кириллические данные чаще всего «ломаются»: кодировка и разделители работают иначе, чем ожидает пользователь. После конвертации готовый CSV-файл можно открыть в любом текстовом редакторе, Python или базе данных.

Коротко: в Excel используйте «Файл → Сохранить как → CSV UTF-8 (с разделителями-запятыми)». Если нужен точный контроль кодировки или разделителя — LibreOffice Calc. Для пакетной обработки — Python pandas с df.to_csv(). Онлайн-сервисы подойдут для разовой конвертации без установки ПО.

Что такое CSV и зачем конвертировать из Excel

CSV (Comma-Separated Values) — текстовый файл, в котором каждая строка соответствует одной записи, а поля внутри строки разделены символом-разделителем: чаще всего запятой (,) или точкой с запятой (;). Спецификация формата закреплена в RFC 4180.

Конвертировать xlsx в csv нужно в следующих случаях:

  • Импорт данных в базы данных (PostgreSQL, MySQL, SQLite) — большинство БД принимают CSV напрямую.
  • Загрузка в CRM, ERP, BI-инструменты (Power BI, Tableau, Metabase).
  • Обработка в Python, R или любом скриптовом пайплайне.
  • Обмен данными между системами, которые не читают .xlsx.

Что теряется при конвертации Excel в CSV: форматирование ячеек (цвета, шрифты, границы), формулы (сохраняются только вычисленные значения), данные со всех листов кроме активного, изображения и диаграммы.

Что сохраняется: сырые текстовые и числовые данные активного листа.

!
Важно

При сохранении в CSV будут потеряны форматирование ячеек, формулы и данные со всех листов, кроме активного. Сохраните резервную копию .xlsx перед конвертацией.

Способ 1: Сохранить как CSV в Microsoft Excel

Самый очевидный способ конвертировать xlsx в csv — встроенная функция «Сохранить как» в Microsoft Excel. Работает без установки дополнительного ПО в Excel 2016, 2019, 2021 и Microsoft 365.

Пошаговая инструкция (Excel 2016–2026)

  1. Откройте файл .xlsx или .xls в Microsoft Excel.
  2. Перейдите в «Файл» → «Сохранить как» (или нажмите F12).
  3. Выберите папку назначения на диске.
  4. В поле «Тип файла» выберите один из вариантов CSV (см. таблицу ниже).
  5. Нажмите «Сохранить» → подтвердите предупреждение о потере форматирования.
  6. Убедитесь, что активный лист — нужный: конвертируется только он.

Какой тип CSV выбрать в Excel

Тип файла Кодировка Разделитель Когда использовать
CSV UTF-8 (с разделителями-запятыми) UTF-8 с BOM ; (в рус. локали) Универсально для русского текста — файл корректно открывается в Excel и читается Python
CSV (разделители — запятые) Windows-1251 ; (в рус. локали) Старые системы, требующие кодировку CP1251
CSV (MS-DOS) CP866 ; Устаревшие DOS-системы и специфичные российские ПО
💡
Совет

Если файл будет открываться в Excel — берите «CSV UTF-8 (с разделителями-запятыми)». Если передаёте в Python или базу данных — лучше использовать LibreOffice или Python для точного контроля кодировки и разделителя.

Способ 2: LibreOffice Calc — экспорт с настройками

LibreOffice Calc — бесплатная альтернатива Excel, доступная на Windows, macOS и Linux. Главное преимущество: при экспорте в CSV программа явно показывает диалог настройки кодировки и разделителя — никаких скрытых сюрпризов.

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

  1. Откройте файл .xlsx в LibreOffice Calc (бесплатно, доступен на всех платформах).
  2. Выберите «Файл» → «Сохранить как», в списке типов укажите «Text CSV (.csv)».
  3. В диалоге «Экспорт текстового файла» настройте три параметра: набор символов (кодировку), разделитель полей, разделитель текста.
  4. Нажмите ОК — файл сохранён с заданными параметрами.

Настройка разделителя и кодировки в LibreOffice

  • Кодировка «Unicode (UTF-8)» — универсальный выбор для кириллицы.
  • Разделитель «;» (точка с запятой) — если файл будет открываться в Excel в русской локали.
  • Разделитель «,» (запятая) — если файл идёт в Python, PostgreSQL или международный обмен.
  • LibreOffice поддерживает экспорт каждого листа отдельно через макрос Basic — встроенного способа конвертировать все листы сразу нет.

По сравнению с Excel, LibreOffice не скрывает параметры кодировки: вы точно знаете, в каком формате сохраняется файл.

Способ 3: Онлайн-конвертеры

Когда не хочется устанавливать программы, конвертировать excel файл в csv онлайн бесплатно можно через браузерные сервисы. Загружаете .xlsx — получаете .csv без ПО. Сравнение трёх популярных вариантов:

Сервис Настройка кодировки Настройка разделителя Размер файла Конфиденциальность
Convertio Нет Нет до 100 МБ (бесплатно) Файлы хранятся 24 ч
CloudConvert Да Да до 1 ГБ (платно) GDPR-compliant
CSV-Online Нет Нет до 10 МБ Не указана
!
Важно

Не загружайте файлы с персональными данными (ФИО, паспорта, контакты клиентов) на сторонние онлайн-сервисы. Для конфиденциальных данных используйте LibreOffice или Python локально.

Способ 4: Python (pandas) — для автоматизации

Для разработчиков и аналитиков, которым нужна пакетная конвертация или встраивание xlsx→csv в пайплайн обработки данных, оптимальный инструмент — библиотека pandas. Документация метода — pandas.DataFrame.to_csv.

Базовая конвертация одного файла:

import pandas as pd # Читаем Excel-файл df = pd.read_excel("data.xlsx", sheet_name="Sheet1") # Конвертируем в CSV: UTF-8 с BOM, разделитель запятая df.to_csv("output.csv", index=False, encoding="utf-8-sig", sep=",")

Ключевые параметры:

  • encoding="utf-8-sig" — UTF-8 с BOM; Excel корректно отображает кириллицу при открытии файла.
  • encoding="utf-8" — без BOM; предпочтительно для Python, PostgreSQL, Linux-систем.
  • sep="," — запятая (для Python/БД); sep=";" — точка с запятой (для Excel в РФ).
  • index=False — не добавляет колонку с номерами строк (почти всегда нужен).

Конвертация всех листов Excel в отдельные CSV-файлы:

import pandas as pd xf = pd.ExcelFile("data.xlsx") for sheet in xf.sheet_names: df = pd.read_excel(xf, sheet_name=sheet) df.to_csv(f"{sheet}.csv", index=False, encoding="utf-8-sig")

Этот подход решает задачу, которую встроенные средства Excel не выполняют: конвертация каждого листа в отдельный CSV без ручных действий.

Кодировка CSV: UTF-8, UTF-8 с BOM или Windows-1251

Кодировка — самая частая причина кракозябров при экспорте excel в csv с кириллицей. Проблема возникает из-за несоответствия ожиданий: Excel в Windows открывает CSV в кодировке Windows-1251 по умолчанию. Если файл сохранён в UTF-8 без BOM и содержит русский текст — при открытии в Excel появятся нечитаемые символы.

Решение — UTF-8 с BOM (Byte Order Mark): три скрытых байта EF BB BF в начале файла сигнализируют Excel о кодировке. Подробнее об этой проблеме — в нашей статье «Кракозябры: что это и как исправить кодировку».

Кодировка Файл идёт в Excel Файл идёт в Python/БД Файл идёт в Linux-системы
UTF-8 с BOM (utf-8-sig) ✅ Кириллица корректна ✅ pandas читает без ошибок 🟡 BOM-символ может мешать некоторым парсерам
UTF-8 без BOM (utf-8) ❌ Кракозябры в Excel 2003–2016 ✅ Рекомендуется ✅ Норма для Linux/macOS
Windows-1251 (cp1251) ✅ Excel 2003–2010 ⚠ Нужно явно указывать encoding при чтении ❌ Нет нативной поддержки

Вывод: если не уверены, какую кодировку выбрать — используйте UTF-8 с BOM (utf-8-sig). Это наиболее безопасный выбор для файлов с кириллицей, которые могут открываться как в Excel, так и в Python.

Разделитель в CSV: запятая или точка с запятой

Стандарт CSV предполагает запятую (,) — отсюда «Comma-Separated Values». Однако Microsoft Excel в русской локали по умолчанию использует точку с запятой (;). Причина: в России запятая — это десятичный разделитель (1,5 вместо 1.5), поэтому Excel не может использовать её как разделитель полей.

Результат: файл с запятой, открытый в русском Excel — все данные окажутся в одном столбце. И наоборот, файл с точкой с запятой, переданный в Python или PostgreSQL, потребует явного указания разделителя.

Как проверить текущий разделитель системы в Windows:

Панель управления → Региональные стандарты → Дополнительно → Разделитель элементов списка

Правило выбора разделителя:

  • Файл → Excel в русской локали → используйте ;
  • Файл → Python / PostgreSQL / международный обмен → используйте ,
  • Неизвестно → добавьте первой строкой файла директиву sep=, (без кавычек) перед данными — Excel читает эту директиву и применяет указанный разделитель автоматически.

Частые ошибки и как их исправить

Большинство проблем при конвертации Excel в CSV решается одним из пяти способов — в зависимости от симптома:

Симптом Причина Решение
Все данные в одной колонке Неверный разделитель Поменяйте ; на , или наоборот; откройте через «Данные → Из текста/CSV» и укажите разделитель вручную
Кракозябры (?À¾…) Неверная кодировка Используйте UTF-8 с BOM (utf-8-sig) или пересохраните через LibreOffice с явной настройкой кодировки
Потеряны данные со второго листа Excel конвертирует только активный лист Сохраняйте каждый лист отдельно или используйте Python pandas (пример в способе 4)
Числа стали текстом Форматирование ячеек «Текст» в Excel До конвертации выделите столбцы, снимите формат «Текст» и принудительно пересчитайте (Ctrl+Alt+F9)
Файл не открывается в Python с BOM-ошибкой BOM мешает парсеру ожидающему чистый UTF-8 Используйте encoding="utf-8-sig" в pandas — он автоматически обрабатывает BOM при чтении

Часто задаваемые вопросы

В чём разница между «CSV UTF-8» и «CSV UTF-8 (с разделителями-запятыми)» в Excel?

Оба формата используют кодировку UTF-8, но названия зависят от версии Excel. В современных версиях «CSV UTF-8 (с разделителями-запятыми)» добавляет BOM — это предпочтительный вариант для кириллицы. Если видите оба варианта в списке, выбирайте «с разделителями-запятыми».

Почему после открытия CSV все данные оказались в одном столбце?

Excel не распознал разделитель. В русской локали Excel ожидает точку с запятой (;), но файл сохранён с запятой (,). Чтобы исправить без пересохранения: откройте файл через «Данные → Из текста/CSV» и в мастере импорта вручную укажите разделитель. Или добавьте строку sep=, первой строкой CSV — Excel прочитает директиву.

Можно ли конвертировать сразу все листы Excel в отдельные CSV-файлы?

Встроенными средствами Excel — нет: «Сохранить как CSV» всегда конвертирует только активный лист. Для всех листов сразу используйте Python pandas (пример с циклом по xf.sheet_names из раздела «Способ 4»). В LibreOffice возможна конвертация каждого листа через макрос Basic.

Как убрать кавычки вокруг значений в CSV?

Кавычки добавляются автоматически, если значение содержит разделитель, перенос строки или сами кавычки — это обязательная часть формата CSV по RFC 4180. В pandas используйте параметр quoting=csv.QUOTE_MINIMAL для минимизации. Полностью убрать кавычки нельзя без нарушения формата.

Чем открыть CSV-файл с разделителем «запятая» в российском Excel?

Способ 1: «Данные → Из текста/CSV» → в мастере импорта укажите разделитель запятую. Способ 2: Добавьте первой строкой файла текст sep=, (без кавычек и без пробелов) — Excel автоматически подхватит разделитель при открытии. Подробнее — в нашей статье «Чем открыть CSV-файл».

Теряются ли формулы при конвертации Excel в CSV?

Да. CSV хранит только вычисленные значения, не сами формулы. Перед конвертацией убедитесь, что все формулы пересчитаны — нажмите Ctrl+Alt+F9. Если ячейка с формулой не пересчиталась, в CSV может попасть пустое значение или «0» вместо реального результата.