| Termin | Definicja |
|---|---|
| załącznik CSV | Załącznik CSV to plik tekstowy z danymi tabelarycznymi rozdzielonymi przecinkiem. Prostota formatu i jej cenaCSV to zwykły plik tekstowy, w którym każdy wiersz odpowiada jednemu rekordowi, a pola rozdziela ustalony znak. Format nie przechowuje typów danych, formatowania ani kilku arkuszy — wszystko jest tekstem, a znaczenie nadaje mu dopiero program odczytujący. Z tego bierze się największa zaleta, czyli czytelność dla każdego narzędzia, i największa słabość: ten sam plik u dwóch osób otwiera się inaczej. Reguła cytowania mówi, że pole zawierające separator, cudzysłów albo znak nowej linii musi zostać ujęte w cudzysłowy, a cudzysłów wewnątrz pola podwojony. Eksport, który tej reguły nie stosuje, rozjeżdża tabelę przy pierwszym adresie zawierającym przecinek. Przecinek, średnik i kłopot z polskimi ustawieniamiW polskiej konfiguracji regionalnej Windows separatorem części dziesiętnej jest przecinek, więc Excel jako separatora pól używa średnika. Plik wyeksportowany zgodnie z nazwą formatu, czyli z przecinkiem, po dwukliknięciu ląduje w jednej kolumnie. Rozwiązaniem nie jest ręczne poprawianie, tylko import przez kreator: w Excelu z zakładki danych, z opcji pobierania danych z pliku tekstowego, gdzie wskazuje się separator, stronę kodową i typ każdej kolumny. Drugi problem to kodowanie znaków — plik zapisany w UTF-8 bez znacznika kolejności bajtów otwiera się z rozsypanymi polskimi literami, bo program zakłada stronę kodową Windows-1250. Trzeci, najbardziej złośliwy w handlu, to automatyczna konwersja: ciąg cyfr z zerem na początku traci to zero, kod towaru z myślnikiem zamienia się w datę, a długi numer EAN pokazuje się w notacji wykładniczej i po zapisaniu jest już bezpowrotnie uszkodzony. Ustawienie typu kolumny na tekstowy w kreatorze importu jest jedyną skuteczną obroną. Załącznik CSV jako wektor atakuPonieważ arkusz kalkulacyjny traktuje pole zaczynające się od znaku równości jako formułę, spreparowany plik CSV potrafi wykonać polecenie po otwarciu i potwierdzeniu ostrzeżenia. Ten sam mechanizm dotyczy pól zaczynających się od plusa, minusa i znaku małpy. Dlatego załącznik CSV z nieznanego źródła nie jest bezpieczniejszy od dokumentu z makrami, choć intuicja podpowiada inaczej. Przy plikach otrzymywanych pocztą warto otworzyć je najpierw w zwykłym edytorze tekstu i zobaczyć zawartość, zanim trafią do arkusza. W firmach z systemami handlowymi dochodzi jeszcze ryzyko odwrotne: import podrobionego pliku z cenami albo stanami magazynowymi wprost do bazy, bez etapu weryfikacji. Import i eksport danych między systemami handlowymiWymiana danych plikiem CSV to codzienność w firmach łączących sklep internetowy z programem magazynowym. Warszawskie Pogotowie Komputerowe konfiguruje takie przepływy tak, żeby przetrwały zmianę wersji i zmianę osoby obsługującej: ustalamy stałe kodowanie i separator, blokujemy automatyczną konwersję typów, dopisujemy kontrolę liczby rekordów po imporcie. Przy wdrożeniach opartych o SQL Server sprawdzamy również stronę bazy, bo ciche obcięcie zbyt długiego pola potrafi zniekształcić dane bez żadnego komunikatu. Obsługujemy firmy i klientów indywidualnych przez całą dobę, we wszystkie dni tygodnia. |