Čím nahradit export do CSV?

stryko sam

Čím nahradit export do CSV?
« kdy: 30. 12. 2016, 14:54:34 »
Klient chce odomna export dat z db tak aby sa dali zobrazit v exceli. Povodne sme tam mali export do csv. Ale v datach sa nachadzaju aj ciarky, bodkociarky, tabulatory takze aky univerzalny format pouzit na export tabulkovych udajov? Alebo bude najjednoduchsie spravit export priamo do XLS?
« Poslední změna: 30. 12. 2016, 21:43:46 od Petr Krčmář »


DK

Re:Cim nahradit CSV
« Odpověď #1 kdy: 30. 12. 2016, 15:06:44 »
CSV tyhle znaky umi escapovat (respektive zaobalit do uvozovek), takze se muze pouzit i ten. Alternativne vygenerovat primo XLS necim, co ma k databazi pristup (treba Python + http://xlsxwriter.readthedocs.io/ )

Janci

Re:Cim nahradit CSV
« Odpověď #2 kdy: 30. 12. 2016, 16:13:07 »
a) spravne escapovane CSV
b) SYLK (.slk) - jednoduchy format, na rozdiel od CSV podporuje aj jednoduche formatovanie
c) HTML <TABLE> ulozena ako XLS - excel to otvori
.....
z) full-featured XLS/XLSX

Franta <xkucf03/>

Re:Cim nahradit CSV
« Odpověď #3 kdy: 30. 12. 2016, 16:28:22 »
Výstup naformátuj jako „flat ODS“ (OpenDocument) – je to obyčejné jednoduché XML, takže nebudeš mít problém s escapováním zvláštních znaků nebo s kódováním.

Re:Cim nahradit CSV
« Odpověď #4 kdy: 30. 12. 2016, 16:57:59 »
Jak nekteri psali: pokud nemas zadny dalsi konkretni duvod tak _SV (v tvem pripade treba CSV) je naprosto dostacujici pokud ho spravne pojmes.
Děkuji za možnost editace příspěvku.


Re:Čím nahradit export do CSV?
« Odpověď #5 kdy: 30. 12. 2016, 21:53:52 »
Jako nejvíc kompatibilní CSV se mi osvědčila modifikace klasické RFC4180 s tím rozdílem, že všechny hodnoty jsou obaleny uvozovkami.

Ve zkratce:
- každou hodnotu sloupce obalit uvozovkami
- uvozovky uvnitř hodnoty escapovat další uvozovkou (" -> "")
- jako oddělovač hodnot (sloupců) použít čárku
- a oddělovač záznamů \r\n

borek

Re:Čím nahradit export do CSV?
« Odpověď #6 kdy: 31. 12. 2016, 08:58:50 »
Bohuzel se Excel snaží konvertovat i řetězce v uvozovkách na čísla nebo datumy. Spolehlivější bude výstup přímo do xlsx.