CSV — простой формат: строки текста, поля разделены запятой или точкой с запятой. Но стоит открыть такой файл двойным кликом в Excel — и начинается: вся строка в первом столбце, кириллица превратилась в кракозябры, а артикул 0123 стал числом 123. Разберём, почему так происходит, как конвертировать CSV в XLSX (и наоборот) и как не терять данные по дороге.
Почему Excel «ломает» CSV
Три типовые причины:
- Разделитель. В русской локали Windows Excel ждёт точку с запятой, а поставщик, банк или 1С выгружает с запятой (или наоборот). Итог — вся строка попадает в одну ячейку.
- Кодировка. Файл сохранён в UTF-8, а Excel по умолчанию читает как Windows-1251. Кириллица превращается в
Товар. - Автоопределение типов. Excel молча превращает
01.03в дату, а артикул0123— в число 123, срезая ведущий ноль. Обратно нули уже не вернуть.
Способ 1. Импорт через «Данные → Из текстового/CSV-файла»
Встроенный в Excel инструмент, который решает две проблемы из трёх:
- Откройте пустую книгу Excel.
- Вкладка Данные → Получить данные → Из текстового/CSV-файла.
- В окне предпросмотра выберите кодировку (обычно 65001: Юникод (UTF-8)) и разделитель (запятая или точка с запятой).
- Нажмите «Загрузить».
Минусы: настройки не запоминаются — десять файлов в неделю это десять одинаковых проходов по меню. И типы колонок придётся перепроверять каждый раз: ведущие нули Excel откусывает молча.
Способ 2. Power Query
Тот же импорт, но с сохранением цепочки обработки: один раз настроили запрос — дальше жмёте «Обновить», подставив новый файл. Подходит, если файлы однотипные и регулярные. Порог входа выше: редактор запросов, типы данных, и когда поставщик поменяет структуру файла, запрос придётся чинить руками.
Способ 3. Конвертер: файл → готовый XLSX
Если нужен рабочий файл, а не новый навык — загрузите CSV в конвертер. Он сам определяет разделитель и кодировку, показывает, как разложились данные, и отдаёт XLSX:

После загрузки видно, как файл разобрался по колонкам — до конвертации, а не после:

Дальше можно ничего не настраивать — импортировать все колонки как есть:

И на последнем шаге выбрать формат XLSX:

А если нужно наоборот: XLSX в CSV
Обратная задача встречается чаще, чем кажется: банк, 1С или маркетплейс принимает только CSV. «Сохранить как → CSV» в Excel работает, но с двумя сюрпризами: разделитель берётся из региональных настроек Windows (у вас точка с запятой, у получателя — запятая), а кодировка зависит от версии Excel. Надёжнее прогнать файл через конвертер и выбрать CSV на экспорте: на выходе будет UTF-8 с BOM и точка с запятой — то, что корректно открывается и в русском Excel, и в учётных системах.
Какой способ когда подходит
| Способ | Когда брать | Когда нет |
|---|---|---|
| Импорт через «Данные» | Разовый файл, вы уже в Excel | Файлы приходят регулярно |
| Power Query | Один и тот же файл каждую неделю, готовы разбираться | Структура файла плавает от поставщика к поставщику |
| Конвертер | Нужен результат за минуту, файл чужой и незнакомый | Нужны формулы/несколько листов на выходе |
Частые вопросы
Как поменять кодировку в CSV?
Откройте файл в «Блокноте» → «Сохранить как» → внизу выберите кодировку UTF-8. Или загрузите в конвертер и скачайте XLSX: внутри XLSX кодировок нет в принципе, проблема исчезает навсегда.
Весь CSV попадает в один столбец
Разделитель в файле не совпадает с тем, что ждёт Excel. Посмотрите первую строку файла в блокноте: если поля разделены запятыми, а у вас русская Windows — Excel хочет точку с запятой. Проще прогнать файл через конвертер — разделитель определяется автоматически.
Как поменять разделитель в CSV массово?
Вручную — никак: «Найти и заменить» сломает поля, где разделитель встречается внутри текста (например, в названии товара). Правильный путь — распарсить файл с исходным разделителем и сохранить с нужным, что и делает конвертер.
Артикулы вида 0123 превращаются в 123
Excel считает значение числом и отбрасывает ведущие нули. При импорте задайте такому столбцу текстовый формат на шаге предпросмотра. В конвертере колонки переносятся как текст без авто-преобразований — нули остаются на месте.
А если внутри текста есть кавычки или сам разделитель?
Тогда CSV-поле должно быть обёрнуто в кавычки, а внутренние кавычки — удвоены. Часть выгрузок (особенно самописных) этого не делает, и такой файл не читается корректно нигде. В конвертере включён терпимый парсер: он вытащит максимум даже из «кривого» CSV.
Файл больше 2 МБ
Бесплатно и без регистрации обрабатываются файлы до 2 МБ — большинству прайсов хватает. Зарегистрированным — до 5 МБ, на платных тарифах до 100 МБ с потоковой обработкой.