Zachowanie programu Excel podczas otwierania plików CSV w dużym stopniu zależy od ustawień lokalnych i używanych list separator
w Region and language » Formats » Advanced
. Domyślnie Excel zakłada, że każdy plik CSV został zapisany z tym separatorem. To prawda, o ile CSV nie pochodzi z innego kraju!
Jeśli Twoi klienci są w innych krajach, mogą zobaczyć inne wyniki, niż myślisz.
Na przykład tutaj widać, że niemiecki Excel użyje średnika zamiast przecinka, jak w USA
Aby jeszcze bardziej Cię pomylić, ustawienie to zakłóca symbol dziesiętny, który można osobno ustawić w Excel Options » Advanced » Use system separators
ustawieniach regionalnych lub za pomocą ustawień regionalnych, jak pokazano powyżej. Excel nie może używać tego samego symbolu, co separator tabulatorów i list dziesiętnych. Automatycznie użyje przecinka lub średnika jako separatora kopii zapasowej. Czytaj więcej
Weźmię twój przykład, aby utworzyć 3 pliki. Każdy z innym separatorem i otwórz go w programie Excel.
COMMA SEMICOLON TAB
Nie to samo co Twój Excel? Tak myślałem.
Pozwala więc ręcznie zmienić rozszerzenie z tych samych plików CSV na XLS i sprawdzić, co się teraz stanie. Najpierw program Excel wyświetli ostrzeżenie, że rozszerzenie pliku nie pasuje do zawartości, a program Excel zgadnie, co jest w środku.
COMMA SEMICOLON TAB
Wniosek: TAB + zmiana nazwy + ignorowanie ostrzeżenia = Win na każdym systemie?
Może, ale nie byłbym taki pewien dla klientów spoza twojego kraju.
Najlepszą metodą jest poinstruowanie klientów, aby najpierw otworzyli pusty program Excel, a następnie przejść do Data » Get data from text
i ręcznie wybrać przecinek jako separator