Jeśli robisz to ręcznie, pobierz LibreOffice i użyj LibreOffice Calc, aby zaimportować plik CSV. Robi to o wiele lepiej niż jakakolwiek wersja Excela, którą wypróbowałem, i może zapisywać do XLS lub XLSX, jeśli potrzebujesz później przenieść się do Excela.
Ale jeśli utknąłeś w Excelu i potrzebujesz lepszej poprawki, wydaje się, że jest na to sposób. Wydaje się, że jest zależne od lokalizacji (co wydaje się idiotyczne, moim skromnym zdaniem). Nie mam programu Excel 2007, ale mam Excel 2010 i podany przykład:
ID,Name,Description
"12345","Smith, Joe","Hey.
My name is Joe."
nie działa. Napisałem go w Notatniku i wybrałem Zapisz jako ..., a obok przycisku Zapisz możesz wybrać kodowanie. Wybrałem UTF-8 zgodnie z sugestią, ale bez powodzenia. Jednak zmiana przecinków na średniki działała dla mnie. Nic więcej nie zmieniłem i po prostu zadziałało. Więc zmieniłem przykład, aby wyglądał tak, i wybrałem kodowanie UTF-8 podczas zapisywania w Notatniku:
ID;Name;Description
"12345";"Smith, Joe";"Hey.
My name is Joe."
Ale jest haczyk! Jedynym sposobem, w jaki to działa, jest dwukrotne kliknięcie pliku CSV, aby otworzyć go w programie Excel. Jeśli spróbuję zaimportować dane z tekstu i wybiorę ten plik CSV, nadal kończy się to niepowodzeniem w przypadku cytowanych nowych linii.
Ale jest inny haczyk! Separator pola roboczego (przecinek w oryginalnym przykładzie, w moim przypadku średnik) wydaje się zależeć od ustawień regionalnych systemu (ustawionych w Panelu sterowania -> Region i język). W Norwegii przecinek jest separatorem dziesiętnym. Wydaje się, że Excel unika tego znaku i zamiast tego preferuje średnik. Mam dostęp do innego komputera ustawionego na język angielski w Wielkiej Brytanii i na tym komputerze pierwszy przykład z separatorem przecinkiem działa dobrze (tylko po dwukrotnym kliknięciu), a ten ze średnikiem w rzeczywistości zawodzi! To tyle, jeśli chodzi o interoperacyjność. Jeśli chcesz opublikować ten plik CSV online, a użytkownicy mogą mieć Excela, myślę, że musisz opublikować obie wersje i zasugerować, aby ludzie sprawdzili, który plik daje poprawną liczbę wierszy.
Wszystkie szczegóły, które udało mi się zebrać, aby to zadziałało, to:
- Plik musi być zapisany jako UTF-8 z BOM, co robi Notatnik po wybraniu UTF-8. Próbowałem UTF-8 bez BOM (można go łatwo przełączyć w Notepad ++), ale podwójne kliknięcie dokumentu kończy się niepowodzeniem.
- Musisz użyć przecinka lub średnika, ale nie tego, który jest separatorem dziesiętnym w Ustawieniach regionalnych. Być może inne postacie działają, ale nie wiem które.
- Musisz cytować pola zawierające nowy wiersz ze znakiem „.
- Użyłem końcówek linii Windows (\ r \ n) zarówno w polu tekstowym, jak i jako separator rekordów, to działa.
- Musisz dwukrotnie kliknąć plik, aby go otworzyć, importowanie danych z tekstu nie działa.
Mam nadzieję, że to komuś pomoże.