Как открыть CSV в Excel без «кракозябр» и съехавших колонок

Поставщик прислал прайс в CSV, вы кликнули по файлу дважды — и вместо аккуратной таблицы увидели Наименование, причём вся строка склеилась в одну ячейку. Файл исправен: его просто открыли не так, как он записан. Разберём, почему двойной клик даёт кракозябры и съехавшие колонки, и как открыть CSV в Excel правильно.

Почему двойной клик ломает CSV

CSV — обычный текст, и у него есть два свойства, о которых внутри файла ничего не написано: кодировка и разделитель. При двойном клике Excel ничего не спрашивает — он угадывает по собственным настройкам:

  • Кодировка. Русский Excel по умолчанию читает CSV как Windows-1251 (она же ANSI). А файл чаще всего записан в UTF-8 — это стандарт для веб-систем, банков и маркетплейсов. Кириллица из UTF-8, прочитанная по таблице 1251, и превращается в кракозябры. Механика подробно разобрана в статье про кодировку CSV.
  • Разделитель. Excel берёт разделитель списков из региональных настроек Windows — у нас это точка с запятой. Если поля в файле разделены запятыми (классика англоязычных систем), Excel не видит границ колонок и кладёт всю строку в первую ячейку. Этот сюжет отдельно разобран в статье про разделители в CSV.

Обе проблемы независимы, но обычно приходят парой: файл в UTF-8 с запятыми на русской Windows даёт и иероглифы, и один столбец одновременно. Поэтому и чинить их надо вместе, а не по очереди.

Как открыть CSV в Excel правильно

Двойной клик — единственный неправильный способ. Вместо него используйте импорт, где кодировку и разделитель выбираете вы сами, а не Excel:

  1. Откройте пустой Excel → вкладка «Данные» → «Получить данные» → «Из файла» → «Из текстового/CSV-файла».
  2. Укажите файл — появится окно предпросмотра.
  3. В поле «Кодировка файла» выберите 65001: Юникод (UTF-8). Если угадали, кракозябры в предпросмотре исчезнут сразу.
  4. В поле «Разделитель» выберите запятую (или точку с запятой — смотрите по предпросмотру). Таблица распределится по колонкам ещё до загрузки.
  5. Нажмите «Загрузить» — получите нормальный лист.
Окно импорта CSV в Excel с выбором кодировки UTF-8 и разделителя
Импорт через «Данные»: кодировку и разделитель выбираете вы, результат виден до загрузки

Способ рабочий, но у него два минуса. Первый — это пять шагов вместо одного двойного клика, и повторять их придётся для каждого файла: ежедневная выгрузка остатков превращается в ежедневные пять шагов. Второй минус серьёзнее — он проявляется при сохранении.

Почему «Сохранить как» ломает всё обратно

Дальше обычно начинается вторая беда. Вы открыли файл через импорт, поправили цены и нажали Ctrl+S. Excel предложит «Сохранить как CSV» — и запишет файл по своим правилам: кодировка ANSI (Windows-1251), разделитель «точка с запятой». То есть ровно то, от чего вы пришли, только наоборот: файл, который учётная система ждала в UTF-8 с запятыми, вернётся ей в 1251 с точкой с запятой — и она его уже не прочитает.

Плюс при перезаписи Excel молча переформатирует данные: артикул «00123» станет числом 123, тринадцатизначный штрихкод — экспоненциальной записью, а «1.02» — первым февраля. Для разового просмотра импорт отличный инструмент, а для сценария «открыть, поправить, вернуть» — опасный.

Самый простой путь: конвертер

Если конечная цель — таблица в Excel, проще всего вообще не открывать CSV в Excel. Конвертер сам определяет кодировку (UTF-8, Windows-1251, UTF-16) и разделитель и на шаге «Структура» показывает файл уже разложенным по колонкам — кириллица на месте, границы колонок тоже:

CSV правильно разобран конвертером: кодировка и разделитель определены автоматически
Конвертер сам определил кодировку и разделитель — файл читается сразу

На выходе вы получаете XLSX. А внутри XLSX нет ни кодировок, ни разделителей в принципе — поэтому он открывается двойным кликом без вопросов на любой машине, у коллеги с английской Windows в том числе.

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

Экспорт результата в XLSX
На выходе — XLSX, который открывается двойным кликом без кракозябр и съехавших колонок

Про варианты перегона и когда какой выбирать — в статье про конвертацию CSV в XLSX.

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

Как понять, в какой кодировке мой CSV?

Откройте файл в «Блокноте»: если кириллица читается, внизу окна видно, какую кодировку он определил. Если не читается — сохраните копию в другой кодировке и посмотрите снова. В конвертере кодировка определяется автоматически: на превью сразу видно, правильно ли прочитан текст.

В моём Excel нет пункта «Из текстового/CSV-файла»

В старых версиях (Excel 2010–2013) импорт идёт через «Данные» → «Из текста»: откроется мастер, где на первом шаге выбирается кодировка файла, на втором — разделитель. Логика та же, интерфейс старее.

Открыл через импорт, а числа стали датами или текстом

Excel угадывает типы колонок: «1.02» превращается в 1 февраля, а «1 200» с пробелом — в текст. В окне импорта перейдите в «Преобразовать данные» и задайте тип колонки вручную. Либо конвертируйте в XLSX — там значения фиксируются как есть.

Можно ли настроить Excel, чтобы CSV открывался двойным кликом нормально?

Штатной настройки «всегда читать CSV как UTF-8 с запятой» в Excel нет: он ориентируется на региональные параметры системы. Рабочие варианты — импорт через «Данные» каждый раз или конвертация в XLSX: двойной клик по XLSX работает всегда и везде.