[ brainbuger @ 23.08.2006. 15:37 ] @
Imam problem sa jednostavnom skriptom koja ima sledeci zadatak : kreira excel fajl upise u njega neke podatke i pokrene download tog fajla (ukoliko korisnik to prihvati ,naravno) Problem je sto kada otvorim download-ovani xls fajl u Excelu, sadrzaj u tabeli izgleda ovako :  ÐÏࡱá>þÿ 'Sheet1 Neki text!)ð?(ð?'è?&è?„ƒ> ¶ Root EntryÿÿÿÿÿÿÿÿþÿÿÿBook ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ... Ocigledno je da se fajl na klijentovom racunaru ne snimi kako treba. Xls Fajl koji ostane na serveru je ispravan, (prikazuje se u Excelu ispravno), sto znaci da klasa za rad sa excel worksheet-om radi kako treba. Problem je (predpostavljam) negde oko header() funkcije i samog downloadovanja fajla? headers_sent() sam takodje proveravao, nikakav prethodni output ne postoji. Takodje i umesto fpassthru() sam probao ucitavanje preko fread() ali ni to ne pomaze. Nije mi jasno zasto se fajl ne snimi kako treba??? Evo i koda : Code: require_once "class.writeexcel_workbook.inc.php"; require_once "class.writeexcel_worksheet.inc.php"; $fname = "files/test.xls"; // fajl koji kreiram na serveru //upisem neku vrednost u celiju $workbook = &new writeexcel_workbook($fname); $worksheet = &$workbook->addworksheet(); $worksheet->write(0, 0, "Neki text"); $workbook->close(); $fh=fopen($fname, "rb"); //otvorim fajl // ovo se nikad ne izvrsava jer headers do sada nisu poslati if (headers_sent()){print "HEADER vec poslat, odustajem!";exit;} //konacno saljem headers header("Content-Type: application/msexcel; name=\"test.xls\""); header("Content-Disposition: inline; filename=\"test.xls\""); //ucitam sadrzaj fajla fpassthru($fh); exit; |