Поведение 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
и вручную выбрать запятую в качестве разделителя.