Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Eksport bazy do pliku .doc, .xls
Forum PHP.pl > Forum > Przedszkole
liroy23
Posiadam bazę danych zamówienia, którą chcę wyeksportować do Excella bądź Worda - aby ładnie wyglądała jako raport.



  1.  
  2. $query = ("SELECT * FROM zamówienia, firmy where zamówienia.rok='$rok' and zamówienia.miesiac='$miesiac' and zamówienia.dzien='$dzien' and firmy.id_firmy=zamówienia.id_firmy");
  3. $result = mysql_query($query);
  4. $file = fopen($row['id_zam']. 'Raport.txt', 'w+');
  5.  
  6. fwrite($file, "Wygenerowano raport z dnia: \n\n");
  7.  
  8. while($row = mysql_fetch_assoc($result))
  9. {
  10.  
  11. fwrite($file, $row['id_zam']);
  12. fwrite($file, '|');
  13. fwrite($file, $row['nazwa_projektu']);
  14. fwrite($file, '|');
  15. fwrite($file, $row['Realizacja']);
  16. fwrite($file, '|');
  17. fwrite($file, $row['rok']);
  18. fwrite($file, '|');
  19. fwrite($file, $row['miesiac']);
  20. fwrite($file, '|');
  21. fwrite($file, $row['dzien']);
  22. fwrite($file, '|');
  23. fwrite($file, $row['rok_zl']);
  24. fwrite($file, '|');
  25. fwrite($file, $row['miesiac_zl']);
  26. fwrite($file, '|');
  27. fwrite($file, $row['dzien_zl']);
  28. fwrite($file, "\n");
  29. }
  30. fclose($file);
  31.  


Wszystko ładnie porozdzielane "|" oraz enterami - tylko teraz aby ładnie to wyglądalo w excellu to muszę za każdym razem ustawiać znaczniki rodzielenia itp. Czy jest jakaś możliwość aby robiło się to automatycznie? Chodzi dokładnie o to aby wynik został zapisany w formie graficznej - przyjaznej dla oka w osobnym pliku + ewentualne automatyczne otwarcie pliku.

Dzięki.

Kshyhoo
Cytat(liroy23 @ 20.01.2014, 13:32:35 ) *
Chodzi dokładnie o to aby wynik został zapisany w formie graficznej - przyjaznej dla oka w osobnym pliku + ewentualne automatyczne otwarcie pliku.

Zrób szablon, albo wygeneruj grafikę za pomocą GD.
Turson
http://gajdaw.pl/php/excel/p1.html
liroy23
Kolego Turson dzięki za pomoc. Tabela ładnie się wyświetla w excellu tylko mam teraz problem z polskimi znakami.

Użyłem pierwszej funkcji:


  1. Content-type: application/vnd.ms-excel


Jakiś pomysł jak to rozwiązać?
Turson
UTF-8 bez BOM
ewad
Mam takie pytanie nie chcę zakładać nowego tematu... więc odświeżę ten...
Mianowice z linku powyżej znalazłam sposób na prosty eksport do .xls
  1. header('Content-type: application/vnd.ms-excel');
  2. header('Content-Disposition: attachment; filename="arkusz.xls"');


I teraz tak stronę mam kodowaną w UTF-8 wysyłam dane z formularza i tak wyświetla mi wszystkie wyniki w formie tabeli...

I teraz tak miałam zaznaczone na stronie która odbiera dane kodowanie:
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


jednak musiałam je usunąć bo byłoby dwa razy zdefiniowane Content-Type i krzyczało wink.gif

Teraz tak mam dane:

  1. echo '<tr>';
  2. echo "<td>$nazwisko</td>";
  3. echo "<td>$imie</td>";
  4. echo '<td>'.$kod.'</td>';
  5. echo "<td>$miasto</td>";
  6. echo "<td>$telefon</td>";
  7. echo "<td>$mail</td>";
  8. echo '</tr>';



Odpalam w Excel zamiast polskich znaków mam krzaczki... Próbowałam kombinować i za chiny ludowe nie potrafię osiągnąć polskich znaków wszędzie i teraz jedyne co mi się udało osiągnąć:

  1. echo '<tr>';
  2. echo '<td>'.iconv('windows-1250', 'UTF-8', $nazwisko).'</td>';
  3. echo "<td>$nazwisko</td>";
  4. echo "<td>$imie</td>";
  5. echo '<td>'.$kod.'</td>';
  6. echo "<td>$miasto</td>";
  7. echo "<td>$telefon</td>";
  8. echo "<td>$mail</td>";
  9. echo '</tr>';



W ten sposób otrzymuję w pierwszej kolumnie krzaki takie jak były a w następnych mam polskie znaki... jak usunę linijkę z iconv() to mam krzaki nie rozumiem tego przecież powinno mi zamienić tylko w pierwszej kolumnie znaki a ja mam tak że znaki zamienia mi we wszystkich pozostałych a w pierwszej ni cholery...
Pozdrawiam
Ewa...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.