Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Eksport bazy do pliku .doc, .xls
liroy23
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.01.2014

Ostrzeżenie: (0%)
-----


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.

Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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.
Go to the top of the page
+Quote Post
Turson
post
Post #3





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


http://gajdaw.pl/php/excel/p1.html
Go to the top of the page
+Quote Post
liroy23
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.01.2014

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
Turson
post
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


UTF-8 bez BOM
Go to the top of the page
+Quote Post
-ewad-
post
Post #6





Goście







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 (IMG:style_emoticons/default/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...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 18:42