TVTablesViewer Открыть

Почему Excel портит коды в CSV

CSV — текстовый формат: в нём нет типов. Тип придумывает та программа, которая файл открывает. Excel придумывает его агрессивно, и именно поэтому коды в нём ломаются.

Обновлено 2026-09-20 · формат CSV

Три способа потерять данные за один двойной щелчок

Ведущие нули

Значение 00123 выглядит как число — Excel делает из него число 123. Ноли не «спрятаны», их больше нет: при сохранении обратно в CSV в файл уйдёт именно 123.

Экспоненциальная запись

Номер полиса 7812345678901234 превращается в 7,81235E+15. Выглядит как проблема отображения, но это не так.

Потеря точности

Числа в Excel хранятся с двойной точностью — это 15–16 значащих цифр. Шестнадцатизначный номер полиса уже на грани, семнадцатизначный — за ней: последние цифры заменяются нулями безвозвратно. Расширение колонки не поможет, данные уже потеряны.

В российской практике под удар попадают СНИЛС, номер полиса ОМС, ИНН с ведущим нулём, коды ОКТМО и ОКАТО, штрихкоды, номера счетов и лицевых счетов.

Почему «поменять формат ячейки» не спасает

Формат ячейки влияет на то, как значение показывается, а не на то, что в нём лежит. К моменту, когда вы меняете формат, преобразование уже произошло при разборе файла. Единственный способ — не дать Excel решить за вас на этапе открытия.

Рабочие способы

Как это сделано у нас

Тип колонки определяется по выборке значений, и есть три правила, которые Excel игнорирует:

При выгрузке в XLSX такая колонка остаётся текстовой, поэтому Excel уже ничего не «исправит».

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

Можно ли вернуть потерянные нули?

Если известна длина кода — да, дополнением слева нулями. Если потеряна точность длинного номера — нет, эти цифры не восстановить.

А Google Sheets ведёт себя так же?

Похоже: ведущие нули теряются, длинные числа округляются. Разница в мелочах, суть та же.

Почему тогда все пользуются CSV?

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

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

Ещё по теме