Поведение Excel при открытии файлов CSV сильно зависит от ваших локальных настроек и используемых list separator
в Region and language » Formats » Advanced
. По умолчанию Excel будет предполагать, что каждый CSV был сохранен с этим разделителем. Что верно, если CSV не прибыл из другой страны!
Если ваши клиенты находятся в других странах, они могут увидеть другие результаты, чем вы думаете.
Например, здесь вы видите, что немецкий Excel будет использовать точку с запятой вместо запятой, как в США.
Чтобы еще больше сбить вас с толку, эта настройка мешает десятичному символу, который можно установить отдельно в Excel Options » Advanced » Use system separators
региональных настройках или с помощью региональных настроек, как показано выше. Excel не может использовать тот же символ, что и десятичная табуляция и разделитель списка. Он будет автоматически использовать запятую или точку с запятой в качестве разделителя резервных копий. Подробнее
Я возьму ваш пример, чтобы создать 3 файла. У каждого свой разделитель и откройте его в Excel.
COMMA SEMICOLON TAB
Не так, как ваш Excel? Я так думала.
Итак, давайте вручную изменим расширение с тех же файлов CSV на XLS и посмотрим, что происходит сейчас. Во-первых, Excel выдаст предупреждение о том, что расширение файла не соответствует содержимому, и Excel пытается угадать, что внутри.
COMMA SEMICOLON TAB
Вывод: TAB + переименование + игнорировать предупреждение = Win на каждой системе?
Возможно, но я не был бы так уверен для клиентов за пределами вашей страны.
Лучший способ - попросить ваших клиентов сначала открыть пустой Excel, а затем перейти Data » Get data from text
и вручную выбрать запятую в качестве разделителя.