Hej

Generuję plik excela z poziomu php:
  1. $ID_przewoznik = (int)$_POST['ID_przewoznik'];
  2. $query = "SELECT Nazwa FROM ".__BDPREFIX__."przewoznicy WHERE ID=$ID_przewoznik LIMIT 1";
  3. $DB->query($query);
  4. $row = $DB->fetch_row();
  5. $Nazwa_przewoznik = delete_d(substr($row['Nazwa'],0,7));
  6.  
  7. $miesiac = (int)$_POST['miesiac'];
  8. $rok = (int)$_POST['rok'];
  9. $data = $rok.'-'.$miejsc;
  10.  
  11. $File_name = $Nazwa_przewoznik.'_'.$miesiac;
  12. header("Content-type: application/ms-excel; charset=utf-8;");
  13.  header("Content-disposition: filename="$File_name.xls"");
  14.  /*?><head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  16. <meta name="Author" content="Tomasz Łosek"/>
  17. <title>Przewoźnicy</title>
  18. </head><?*/
  19.  $arrPolaLiczb = array('Kwota_zlec', 'Kwota_przew', 'Odleglosc');
  20.  
  21. $query = "
  22. SELECT 
  23. Nr_wew, 
  24.  Data_transportu,
  25. CONCAT(M1.Nazwa,'<br>', M1.Kod,'-', M1.Miejscowosc, '<br>ul.', M1.Ulica) AS Zaladunek, 
  26. CONCAT(M2.Nazwa,'<br>', M2.Kod,'-', M2.Miejscowosc, '<br>ul.', M2.Ulica) AS Rozladunek, 
  27. Kwota_przew
  28.  
  29. FROM 
  30. ".__BDPREFIX__."transporty AS T 
  31. LEFT JOIN ".__BDPREFIX__."miejsca AS M1 ON (T.ID_zaladunek=M1.ID) 
  32. LEFT JOIN ".__BDPREFIX__."miejsca AS M2 ON (T.ID_rozladunek=M2.ID) 
  33.  
  34. WHERE miejsce!='delete' AND T.ID_przewoznik=$ID_przewoznik AND Data_transportu LIKE '$data%' 
  35.  
  36. ORDER BY Data_transportu";
  37.  
  38. $DB->query($query);
  39.  
  40. echo '<table border="1">';
  41. while($row = $DB->fetch_row()){
  42. echo '<tr>';
  43. foreach ($row as $key=>$value){
  44. $type = 'normal';
  45. for($i=0;$i<count($_SESSION['arrPolaLiczb']);$i++){
  46. if($_SESSION['arrPolaLiczb'][$i]==$key) $type = 'number';
  47. }
  48. if($type='number') echo '<td>'.str_replace('.',__EXCEL_NUMBER_SEPARATOR__,$value).'</td>';
  49. /*else echo '<td>'.iconv("UTF-8","windows-1250",$value).'</td>';*/
  50. else echo '<td>'.$value.'</td>';
  51. }
  52. echo '</tr>';
  53. }
  54. echo '<table>';

I teraz jak jest header.... do excela to w excelu są krzaczki, jak headera zakomentuje i odkomentuję ead (wyświetlę na stronie) to dane są dobrze wyświetlane :/
Przecierz tutaj i tutaj wysyłam je utfem :/