CSV в Excel и обратно

Дайте CSV и получите .xlsx, либо дайте книгу и получите CSV. Ведущие нули выживают, буквы с диакритикой открываются в Excel правильно, а файл никогда не покидает ваше устройство.

Как это работает

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

Первое это кодировка. CSV в UTF-8 без метки порядка байтов Excel в Windows открывает в своей кодовой странице ANSI, и café превращается в café, а каждое имя с диакритикой оказывается сломанным. Три байта в начале файла говорят Excel, что он читает. Это самая частая жалоба на любой экспорт в CSV, когда-либо написанный, и здесь она устранена по умолчанию.

Второе это то, что Excel переписывает импортируемое. Индекс 01234 теряет нуль и становится числом 1234. Шестнадцатизначный номер карты или заказа превращается в 1,23457E+15, и исходные цифры не спрятаны, а потеряны. Код товара SEPT1 становится первым сентября. Именно поэтому пришлось написать статью про названия генов, и именно поэтому преобразование в настоящий .xlsx лучше переименованного CSV: в .xlsx тип каждой ячейки записан, так что значение, сохранённое как текст, текстом и остаётся. Значения, которые Excel изменил бы, находятся и закрепляются прежде, чем он успеет, и их количество показывается.

Третье касается не правильности, а безопасности. Ячейка, начинающаяся с =, +, - или @, для Excel формула, а не текст, и таблица, собранная из чужих данных, это способ выполнить чужой код на машине, которая её откроет. Такие ячейки считаются и показываются, а не изменяются молча, потому что переписывать чужие данные без спроса это ошибка другого рода.

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

Как пользоваться

  1. 1 Выберите файл CSV, TSV или Excel. Направление преобразования определяется тем, что вы дали.
  2. 2 Проверьте найденное: разделитель, листы и значения, которые Excel изменил бы.
  3. 3 Оставьте «откроется в Excel правильно» включённым, если дальше по цепочке метка не мешает.
  4. 4 Преобразуйте и скачайте.

Полезно знать

  • CSV пишется с меткой порядка байтов, которая нужна Excel, поэтому буквы с диакритикой не портятся.
  • Ведущие нули и длинные числа хранятся в .xlsx как текст, поэтому Excel не может их переписать.
  • Каждый лист книги становится отдельным CSV, и все они приходят вместе архивом ZIP.
  • Разделитель определяется по согласованности, а не по подсчёту, поэтому текст с обилием запятых его не обманет.
  • Ячейки, которые Excel выполнил бы как формулы, считаются и показываются, а не меняются втихую.

Поддержка браузеров

  • Chrome 94 и новее
  • Firefox 93 и новее
  • Safari 16.4 и новее
  • Edge 94 и новее

Это самые старые версии, где есть всё, чем пользуется инструмент. Они вычисляются из самого инструмента, поэтому меняются вместе с ним.

Номера версий проверены 2026-09-04.

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

Почему мой CSV открывается в Excel неправильно?

Почти всегда дело в кодировке. Excel в Windows читает CSV в своей кодовой странице ANSI, если файл не начинается с метки UTF-8, поэтому буквы с диакритикой выходят кашей. Вариант «откроется в Excel правильно» добавляет эту метку: три байта, и всё в порядке.

Как не дать Excel убрать ведущие нули?

Преобразуйте в .xlsx вместо того, чтобы отдавать Excel файл CSV. В CSV каждое значение это просто текст, и Excel угадывает, что оно значит; в .xlsx тип каждой ячейки записан, поэтому индекс, записанный как текст, остаётся 01234. Этот инструмент находит такие значения и закрепляет их как текст прежде, чем у Excel появится возможность.

Можно преобразовать все листы книги?

Да, и так делается по умолчанию. Каждый лист становится отдельным CSV, и все они возвращаются вместе архивом ZIP. Преобразовать только первый значило бы выбросить остальные, не сказав об этом.

Зачем предлагается точка с запятой?

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

Что за предупреждение про ячейки, начинающиеся со знака равенства?

Excel считает ячейку, начинающуюся с =, +, - или @, формулой, а не текстом, поэтому таблица, собранная из данных, которые писали не вы, может что-то выполнить при открытии. Ячейки считаются и показываются, чтобы решали вы; их не изменяют, потому что менять ваши данные без спроса было бы хуже.

Загружается ли моя таблица куда-нибудь?

Нет. Она читается, преобразуется и возвращается прямо в этой вкладке браузера вашим собственным устройством. Можете наблюдать за вкладкой «Сеть» во время работы: наружу не уходит ничего, что содержало бы файл.

Похожие инструменты

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