Как из Excel сделать CSV: 5 способов с сохранением данных

При попытке сохранить таблицу Microsoft Excel в формате CSV пользователи часто сталкиваются с неожиданными проблемами: искажаются русские буквы, теряются формулы, а числа с нулями в начале (например, артикулы) превращаются в даты. Эти ошибки возникают из-за автоматического преобразования данных при экспорте. Чтобы корректно конвертировать .xlsx в .csv, недостаточно просто выбрать "Сохранить как" — требуется предварительная подготовка файла и правильные настройки экспорта.

Формат CSV (Comma-Separated Values) используется для обмена данными между программами, но в отличие от Excel он не поддерживает несколько листов, формулы или сложное форматирование. Если ваша цель — загрузить данные в , Google Таблицы или базу данных, важно учесть три критических момента: кодировку (UTF-8 или Windows-1251), разделитель (запятая, точка с запятой или табуляция) и формат ячеек (текстовый для чисел с ведущими нулями). Ниже — пошаговые инструкции для разных версий Excel, включая решения типичных проблем.

1. Подготовка файла Excel перед конвертацией в CSV

Перед сохранением в CSV необходимо привести данные к виду, который не исказится при экспорте. Основные риски:

  • 📅 Даты и время — Excel автоматически преобразует их в числовой формат (например, 45342 вместо 01.03.2026).
  • 🔢 Числа с ведущими нулями (например, 0012345) — обрезаются до 12345.
  • 💰 Денежные значения — могут потерять разделители тысяч или символ валюты.
  • 📊 Формулы — в CSV сохранятся только их результаты, а не сами выражения.

Чтобы избежать потерь:

  1. Выделите все ячейки с критичными данными (например, артикулы или телефоны) и установите для них текстовый формат через контекстное меню Формат ячеек → Текстовый.
  2. Замените формулы на их значения: выделите ячейки с формулами → КопироватьСпециальная вставка → Значения.
  3. Удалите объединённые ячейки — CSV их не поддерживает.

2. Стандартный способ: "Сохранить как" в Excel

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

  1. Откройте файл в Excel и перейдите на лист, который нужно конвертировать (в CSV сохранится только активный лист!).
  2. Нажмите Файл → Сохранить как.
  3. В поле Тип файла выберите CSV (разделители — запятые) (*.csv).
  4. Укажите имя файла и нажмите Сохранить.

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

  • ⚠️ "Только активный лист будет сохранён" — подтвердите, если нужно экспортировать один лист.
  • ⚠️ "Некоторые возможности могут быть потеряны" — это нормально для CSV.
Что делать, если в сохранённом CSV русские буквы отображаются как "ÐаннÑе"?

Это проблема с кодировкой. По умолчанию Excel сохраняет CSV в ANSI (Windows-1251), но многие программы ожидают UTF-8. Решение — использовать Блокнот для перекодировки или плагин UTF-8 CSV для Excel.

3. Выбор правильной кодировки и разделителя

По умолчанию Excel для русскоязычных систем сохраняет CSV с разделителем точка с запятой (;) и кодировкой Windows-1251. Это может вызвать проблемы при импорте в Google Sheets или базы данных, где ожидается UTF-8 и запятые. Чтобы изменить параметры:

Параметр Значение для России Значение для международных систем
Разделитель полей ; (точка с запятой) , (запятая)
Разделитель десятичных знаков , (запятая) . (точка)
Кодировка Windows-1251 (ANSI) UTF-8

Чтобы принудительно сохранить в UTF-8:

  1. Сохраните файл как CSV стандартным способом.
  2. Откройте его в Блокноте (не Word!).
  3. Нажмите Файл → Сохранить как, выберите кодировку UTF-8 и подтвердите замену.

Запятую (,) | Точку с запятой (;) | Табуляцию | Другой-->

4. Экспорт в CSV с формулами и форматированием

CSV не поддерживает формулы, но можно сохранить их текстовое представление:

  1. Создайте копию листа (ПКМ по листу → Переместить/скопировать).
  2. Выделите все ячейки с формулами и нажмите Ctrl + ` (гравис) — Excel покажет формулы вместо результатов.
  3. Скопируйте эти ячейки и вставьте их как Значения на новый лист.
  4. Сохраните новый лист как CSV.

Для сохранения форматирования (цвета, шрифты) придётся использовать промежуточные форматы:

  • 📊 PDF — если нужно сохранить вид таблицы для печати.
  • 📄 HTML — если требуется передать стили в веб-приложение.
  • 🗃️ XML — для обмена данными с поддержкой структуры.

Ячейки с числами имеют текстовый формат | Все формулы заменены на значения | Удалены объединённые ячейки | Проверена кодировка (UTF-8 для международных систем)-->

5. Альтернативные способы конвертации

Если стандартный экспорт не подходит, используйте эти методы:

Способ 1: Через Power Query (для больших файлов)

Power Query позволяет тонко настроить экспорт, включая замену разделителей и кодировку:

  1. Перейдите на вкладку Данные → Получить данные → Из файла → Из книги Excel.
  2. Выберите ваш файл и лист.
  3. В редакторе Power Query нажмите Главная → Закрыть и загрузить → Закрыть и загрузить в....
  4. Выберите Только создать подключение, затем экспортируйте данные в CSV через Данные → Экспорт данных.

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

Для разовых задач подойдут сервисы вроде ConvertCSV или CloudConvert. Они поддерживают:

  • 🔄 Автоматическое определение разделителей.
  • 🌐 Выбор кодировки (UTF-8, UTF-16, ANSI).
  • 📂 Пакетную обработку нескольких файлов.
⚠️ Внимание: Не загружайте в онлайн-сервисы файлы с конфиденциальными данными (пароли, персональная информация). Для таких случаев используйте офлайн-инструменты.

Способ 3: Макрос VBA для автоматического экспорта

Если вам нужно регулярно конвертировать файлы, создайте макрос:

Sub ExportToCSV()

Dim ws As Worksheet

Dim SavePath As String

SavePath = "C:\Temp\Export.csv" ' Укажите свой путь

For Each ws In ThisWorkbook.Worksheets

ws.Copy

ActiveWorkbook.SaveAs Filename:=SavePath, FileFormat:=xlCSV, CreateBackup:=False

ActiveWorkbook.Close False

Next ws

End Sub

Этот скрипт экспортирует каждый лист в отдельный CSV-файл. Чтобы изменить кодировку, добавьте строку:

ActiveWorkbook.SaveAs Filename:=SavePath, FileFormat:=xlCSVUTF8

6. Типичные ошибки и их решения

Даже при правильном экспорте CSV может открываться некорректно. Рассмотрим распространённые проблемы:

Проблема Причина Решение
Русские буквы отображаются как ÐаннÑе Неверная кодировка (ANSI вместо UTF-8) Пересохраните файл в UTF-8 через Блокнот или используйте xlCSVUTF8 в макросе
Числа с нулями (например, 00123) становятся 123 Excel автоматически удаляет ведущие нули Предварительно установите для ячеек текстовый формат
Дата 01.03.2026 превращается в 45342 Excel хранит даты как числа Преобразуйте даты в текст через ТЕКСТ(A1; "дд.мм.гггг")
Файл открывается в одной колонке Неверный разделитель (например, запятые вместо точек с запятой) Укажите правильный разделитель при импорте или измените региональные настройки Windows
⚠️ Внимание: Если CSV открывается в Excel как одна колонка, не редактируйте его напрямую! Используйте Данные → Текст по столбцам с указанием правильного разделителя.

7. Оптимизация CSV для конкретных систем

Требования к CSV отличаются в зависимости от программы, куда вы загружаете данные:

Для 1С:Предприятие

  • 📌 Разделитель — ; (точка с запятой).
  • 📌 Кодировка — Windows-1251 (если не настроена UTF-8 в конфигурации).
  • 📌 Даты должны быть в формате ДД.ММ.ГГГГ.
  • 📌 Пустые ячейки заменяйте на "" (две кавычки).

Для Google Таблиц

  • 📌 Разделитель — , (запятая).
  • 📌 Кодировка — UTF-8.
  • 📌 Числа с ведущими нулями импортируйте как текст.

Для баз данных (MySQL, PostgreSQL)

  • 📌 Используйте LOAD DATA INFILE для массовой загрузки.
  • 📌 Экранируйте кавычки внутри полей (например, "О""Кей" вместо "О'Кей").
  • 📌 Укажите разделитель явно: FIELDS TERMINATED BY ';'.
HEAD ваш_файл.csv | cut -d';' -f1-5

Это покажет первые 5 столбцов первых 10 строк для визуального контроля.-->

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

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

Нет, CSV — это плоский формат, который не поддерживает несколько листов. Каждый лист придётся сохранять в отдельный файл. Для автоматического экспорта всех листов используйте макрос VBA (пример приведён в разделе 5).

Почему после сохранения в CSV формулы пропали?

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

Как изменить разделитель в CSV с запятой на точку с запятой?

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

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

После этого Excel будет использовать точку с запятой при сохранении CSV.

Можно ли в CSV сохранить цвета ячеек или шрифты?

Нет, CSV — это текстовый формат без поддержки форматирования. Для сохранения стилей используйте промежуточные форматы:

  • HTML — сохраняет цвета и шрифты.
  • PDF — подходит для печати с сохранением вида.
  • XLSX — если получатель также работает в Excel.
Как автоматизировать экспорт CSV для ежедневных отчётов?

Используйте Power Query или VBA-макросы:

  1. Создайте шаблон Excel с подключением к источнику данных.
  2. Настройте Power Query для преобразования и экспорта в CSV.
  3. Автоматизируйте запуск макроса через Планировщик задач Windows.

Для облачных решений подойдёт Google Apps Script или Microsoft Power Automate.