Eksport i import CSV

2007-01-19 13:38

Ostatnio zostałem nijako "zmuszony" do wyeksportowania danych z bazy do ulubionego programu urzędników, a mianowicie - MS Excel. Teoria była prosta, plik csv i odpowiednie nagłówki powinny załatwić sprawę.

Jeśli chodzi o OpenOffice Calc to przy otwieraniu pliku csv pyta nas jakim separatorem chcemy rozdzielić dane. Natomiast MS Excel od razu ma ustalony separator i jedyny problem jaki by się wydawało to znaleźć go.

Na początku funkcja, która zwróci nam plik csv na bazie odpowiednich parametrów.

Odpowiednim separatorem okazała się tabulacja, działało... pod 2002 ;) Może kawałek kodu:

Wszystko pięknie, ale pod wersją 2003 już niestety nie zadziałało. Okazało się, że działa średnik, ale oczywiście pod 2002 już nie działał. Postanowiłem zmienić Content-type na 'text/csv', no i udało się. Działa pod 2002 i 2003, inna kwestia, że nie działa pod OpenOffice, ale to chyba raczej wina mojego kochanego systemu, który nie umie skojarzyć pliku z aplikacją.

Podziękowania dla maco` z kanału #php.pl za testowanie przykładów na: MS Excel 2003.

Słowa kluczowe: PHP, csv, eksport, excel, import, office, artykuł, blog

Projektowanie i tworzenie stron www w PHP5. Opisy i recenzje oprogramowania typu cms, blog, wiki, open source.
Wszelkie prawa zastrzeżone.