Diskuze: PHP generování CSV (v PHP nebo v knihovně PHPExcel)?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Tak už jsem na to přišel... Sice asi blbým způsobem, ale výsledek je funkční
Moje řešení:
$soubor = fopen("soubor.txt", "w") ;
$textCsv = '' ;
$generovatCsv = Db::queryAll('DB DOTAZ') ;
foreach ($generovatCsv as $csv) {$textCsv .= 'řádek; $csv['slupec']; první
' ;} # Tento enter udělá další řádek
$textEncode = iconv('UTF-8', 'Windows-1250', $textCsv) ;
fwrite($soubor, $textEncode);
fclose($soubor) ;
$souborNazev = "název souboru.csv" ;
$souborNazevEncode = iconv('UTF-8', 'Windows-1250', $souborNazev) ;
rename("soubor.txt", $souborNazevEncode) ;
header('Location: '.$souborNazev) ;
Sice je to řešení asi nestandartní, ale funkční. Kdyby někdo přišel na něco lepšího nebo co je vyloženě špatně, tak sem s tím
Díky
PS: Asi jsem i předtím zapomněl dodat, že jedu přes XAMPP na Windows a tudíž jsem potřeboval i formátování pro Windows.
ahoj len doplnim
prechod na novy riadok pomocou retazca:
"\n"
Ahoj,
to jsem zkoušel. V excelu se mito zobrazilo správně, ale v CSV to byl jeden
souvislý text. (nechápu proč). Proto jsem musel zvolit enter na konci.
$textCsv .= 'řádek; $csv['slupec']; první
' ;} # Tento enter udělá další řádek
Pak se to zobrazilo dobře.
Ale díky za pokus.
Zobrazeno 4 zpráv z 4.