Сценарий знаком каждому, кто работает с прайсами: поставщик прислал CSV, вы открыли его двойным кликом — и колонка артикулов «001234» стала «1234», а штрихкоды «0460123456789» превратились в «4,6E+12». Сохраните такой файл — и нули пропадут навсегда. Разберём, почему Excel это делает, чем это грозит загрузке на площадку и как открывать такие файлы без потерь.
Почему Excel обрезает ведущие нули
У ячеек Excel есть формат по умолчанию — «Общий». Когда вы открываете файл двойным кликом, Excel читает каждое значение и решает сам, что с ним делать: похоже на число — становится числом, похоже на дату — датой, остальное остаётся текстом.
Строка «001234» выглядит как число, и Excel приводит её к числу 1234: ведущие нули в числе не имеют значения, поэтому отбрасываются. Со штрихкодом «0460123456789» происходит то же самое, только хуже: это число из 13 цифр, оно не помещается в стандартный вид и отображается в экспоненциальной форме — «4,6E+12». А если цифр больше 15, Excel и вовсе округляет хвост до нулей: точность числового типа ограничена 15 разрядами.
Ключевое: артикул и штрихкод — это коды, а не количества. Их нельзя складывать и усреднять, но Excel об этом не знает. Для него «001234» — то же самое, что 1234, только с лишними символами.

Чем это опасно на практике
- Артикул не сопоставляется. В учётной системе товар заведён как «001234», в файле — «1234». Поиск по артикулу не находит позицию, цены не обновляются, товар выпадает из выгрузки. Подробнее о требованиях к этому полю — в статье про артикул продавца.
- Штрихкод не бьётся. Маркетплейс сверяет штрихкод посимвольно: «460123456789» вместо «0460123456789» — это другой код, строка отклоняется с ошибкой валидации. Про форматы кодов в прайсе — в статье про штрихкоды в прайсе.
- Дублей не видно. «001234» и «1234» после обрезки нулей склеиваются — при загрузке получаете конфликты дубликатов, которых в исходнике не было.
Как открыть файл в Excel без потерь
Главное правило: не открывайте CSV двойным кликом. Используйте импорт, где тип колонки задаётся вручную:
- Откройте пустой Excel → вкладка «Данные» → «Получить данные» → «Из текстового/CSV-файла».
- В окне предпросмотра нажмите «Преобразовать данные» (не «Загрузить»).
- Выделите колонки артикула и штрихкода и задайте им тип «Текст».
- Нажмите «Закрыть и загрузить».
Текстовый тип отключает автоопределение: «001234» останется «001234», штрихкод — строкой из 13 цифр. Этот же приём решает и проблему с кракозябрами в кодировке — она разобрана в статье про открытие CSV в Excel.

Минус способа — он ручной и одноразовый: при следующем открытии процедуру повторяют. А если файл ещё и нужно подготовить к загрузке (переименовать колонки, отфильтровать строки, добавить наценку), ручной импорт — только начало пути.
Короткий путь: конвертер
В EasyExcel значения из загруженного файла хранятся как текст и не проходят числовых преобразований. Артикул «001234» в превью выглядит ровно так же, как в исходнике, и так же попадает в результат — ни одна колонка не превращается в число сама по себе.

Дальше файл проходит обычные шаги: «Структура» — указать, с какой строки начинается таблица; «Колонки» — переименовать поля под шаблон площадки, при необходимости применить «Умножить» к цене (к колонке цены, не к артикулу); «Фильтры» — отбросить пустые строки и позиции без остатков; «Экспорт». На выходе — XLSX со значениями или CSV в UTF-8 с точкой с запятой, где артикулы и штрихкоды сохранены посимвольно. Попробовать можно на странице конвертации в CSV: бесплатно и без регистрации доступны файлы до 2 МБ.
Если нули уже потеряны
Когда файл уже пересохранён из Excel и нули обрезаны, исходное значение восстановить можно только там, где известна длина кода.
Штрихкоды EAN-13 и EAN-8
У них фиксированная длина — 13 и 8 цифр. Допишите нули слева до нужной длины:
- Формулой рядом:
=ТЕКСТ(A2;"0000000000000")для EAN-13 (13 нулей в шаблоне), затем скопируйте результат и вставьте как значения. - Или форматом ячеек: выделите колонку → Ctrl+1 → «Все форматы» → тип
0000000000000. Учтите: формат меняет только отображение, в самой ячейке остаётся число — при экспорте в CSV нули снова пропадут. Надёжнее формула с преобразованием в значения.
Артикулы без фиксированной длины
Если артикулы поставщика имеют разную длину («00123», «0004567»), восстановить нули по формуле невозможно: вы не знаете, сколько их было. Единственный выход — запросить исходный файл у поставщика и открыть его правильно (импортом или конвертером). Это же повод попросить поставщика присылать файл в XLSX: в нём текстовые значения хранятся как текст, и обрезка происходит только на этапе экспорта в CSV, а не при открытии.
Частые вопросы
Почему число показывается как 4,6E+12 и как вернуть нормальный вид?
Это экспоненциальная запись: Excel так показывает числа, которые не влезают в ширину колонки или превышают 11–12 разрядов. Само значение при этом уже стало числом, и ведущий ноль потерян. Верните исходник и откройте файл заново с текстовым типом колонки — простое растягивание колонки ничего не исправит.
Поможет ли апостроф перед значением?
Да, но только при ручном вводе: '001234 с апострофом Excel хранит как текст и нули не трогает. Для готового файла на тысячу строк это неприменимо — нужен импорт с текстовым типом колонки или обработка в конвертере.
В XLSX от поставщика нули тоже могут пропасть?
В самом XLSX — нет: там тип каждой ячейки задан явно, и текстовый артикул остаётся текстом. Нули пропадают на стыках: когда поставщик сам выгрузил файл через Excel неправильно или когда вы пересохраняете XLSX в CSV двойным кликом. Всегда проверяйте колонку артикулов в исходнике.
Конвертер точно не превратит артикул в число?
Нет. Значения колонок переносятся как текст, без автоопределения типов, а числовые действия вроде «Умножить» или «Округлить» применяются только к тем колонкам, на которые вы их повесили вручную на шаге «Колонки». Артикулы и штрихкоды эти действия не затрагивают.