2011-01-28 14:26:36 +0000 2011-01-28 14:26:36 +0000
35
35

Jak zmusić Excel do otwarcia plików CSV z danymi ułożonymi w kolumnach

Generuję plik CSV z rozszerzeniem .csv, w którym każdy fragment danych w jednej linii jest oddzielony przecinkiem:

1,2,3,4
1,2,3,4

Plik jest wysyłany pocztą elektroniczną i chcę, aby po otwarciu klient zobaczył dane ułożone w kolumny.

Czy jest to możliwe?

PS: Mogę dowolnie zmieniać ogranicznik.

Odpowiedzi (9)

46
46
46
2017-06-23 13:38:39 +0000

jeśli to tylko po to, aby uzyskać csv readable w każdym systemie, jest nieudokumentowana sztuczka: w pierwszej linii napisz SEP=;. Ta linia mówi EXCEL jaki znak użyć jako separator (w rzeczywistości można użyć dowolnego (pojedynczego) znaku (;,|@#'…))

UWAGA: ta linia jest tylko częścią samego pliku csv. To znaczy, że nie zostanie pokazana i nie zostanie zapisana, bez względu na to, jaki format zdefiniujesz do zapisu lub eksportu.

41
41
41
2013-08-18 11:22:31 +0000

Zachowanie programu Excel podczas otwierania plików CSV w dużym stopniu zależy od ustawień lokalnych oraz od tego, czy w list separator jest on używany pod Region and language » Formats » Advanced. Domyślnie program Excel zakłada, że każdy plik CSV został zapisany z tym separatorem. Co jest prawdą tak długo, jak długo CSV nie pochodzi z innego kraju!

Jeśli Twoi klienci są w innych krajach, mogą zobaczyć inne wyniki, to myślisz.

Na przykład, tutaj widzisz, że niemiecki Excel będzie używać średnika zamiast przecinka, jak w USA

Aby jeszcze bardziej mylić, że ustawienie koliduje z symbolem dziesiętnym, który może być oddzielnie ustawiony pod Excel Options » Advanced » Use system separators lub poprzez ustawienia regionalne, jak pokazano powyżej. Program Excel nie może używać tego samego symbolu co zakładka dziesiętna i separator list. Jako separatora kopii zapasowych będzie automatycznie używał przecinka lub średnika. Czytaj dalej

Weźmiemy twój przykład do stworzenia 3 plików. Każdy z nich z innym separatorem i otwórz go w Excelu.

COMMA SEMICOLON TAB

Nie taki sam jak twój Excel? Tak mi się wydawało.

Więc pozwól ręcznie zmienić rozszerzenie z tych samych plików CSV na XLS i zobacz co się teraz stanie. Po pierwsze, Excel wyrzuci ostrzeżenie, że rozszerzenie pliku nie pasuje do treści, a Excel próbuje odgadnąć co jest w środku.

COMMA SEMICOLON TAB

Włączenie: TAB + zmiana nazwy + ignorowanie ostrzeżenia = Wygraj na każdym systemie?

Może, ale nie byłbym tak pewny dla klientów spoza Twojego kraju.

Najlepszą metodą jest poinstruowanie Twoich klientów, aby najpierw otworzyli pusty Excel, a następnie przeszli do Data » Get data from text i ręcznie wybrali przecinek jako separator.

12
12
12
2011-01-28 14:32:58 +0000

Użyj zakładki zamiast przecinka. A jeśli to nie zadziała, daj swojemu plikowi z rozszerzeniem xls.

1
1
1
2019-04-10 08:08:26 +0000

Możesz zastąpić “.csv” przez “.txt”, uruchomić Excel i otworzyć ten plik .txt. Następnie Excel pokaże Ci asystenta, w którym możesz określić, czy chcesz używać “,” jako seperatora. Po ponownym zapisaniu tego pliku jako .csv, następnym razem Excel otworzy go tak, jak tego potrzebujesz.

0
0
0
2017-09-15 20:55:14 +0000

To najgłupsza odpowiedź w historii, ale zadziałała. Używam plików CSV codziennie. Tworzę je cały czas i przeglądam z excelem. Dzisiaj, po 12 latach, kiedy to nigdy nie widziałem tego problemu, stało się to dla mnie. Nie otworzyłby pliku csv i nie sformatowałby kolumn. Nawet niektóre pliki csv, które stworzyłem wczoraj w programie Excel, otwierały się w jednej kolumnie na linię.

Solution: Sprawdź menedżera zadań dla wszystkich otwartych instancji Excel.exe. Zabij wszystkie instancje i spróbuj ponownie otworzyć plik csv.

facepalm

0
0
0
2016-10-10 07:40:44 +0000

Innym rozwiązaniem, które zastosowałem w tej sytuacji, było przesłanie podstawowego pliku HTML, zamiast CSV. Excel może go otworzyć bez błędu. Może też odczytać przynajmniej część formatowania w pliku.

0
0
0
2019-11-29 09:37:33 +0000

Odpowiedź z tym związana - szczególnie dla MacOS / OSX problemy z rozpoznaniem przecinków w Excelu: w Excel 2019 nie otwiera poprawnie CSV - nie parsuje kolumn: https://superuser.com/a/1506042/1116939

0
0
0
2018-11-27 09:31:50 +0000

Przyszedłem w tej samej sprawie. Miałem plik CSV, który Excel błędnie parsował i potrzebowałem Kreatora Importu.

Prosta poprawka polegała na zmianie nazwy CSV na TXT, a Kreator pojawił się pomagając poprawnie rozpoznać strukturę kolumny.

0
0
0
2018-08-15 10:51:05 +0000

W krótkim czasie, jeśli potrzebujesz otworzyć tylko plik CSV, który został wysłany do Ciebie z innego kraju -

Otwórz plik w wordpadzie i użyj funkcji znajdź i zamień, aby zmienić każdy separator, którego użył kraj wydający (np. ;) i zamień na przecinek. (np. ,).

Wystarczy sprawdzić, czy kraj wydający nie używa przecinka zamiast innego symbolu (np. w Hiszpanii używają przecinka, gdzie używamy miejsca po przecinku, więc trzeba by znaleźć i zastąpić przecinek miejscem po przecinku, a następnie znaleźć i zastąpić inny symbol przecinkiem).

Nie jest to rozwiązanie długoterminowe, ale na tyle dobre, by sam plik był czytelny, jeśli się spieszysz i nie masz dostępu do panelu sterowania w pracy.