Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Excel a php
Forum PHP.pl > Forum > Przedszkole
devdev
Witam ma liste zawodnikow w excelu chcialbym sie dowiedziec czy mozna jakos odczytac z excela i wrzucic na strone ?
skowron-line
Można zobacz sobie
http://code.google.com/p/php-excel-reader/ i inne pod hasłem excel reader.
Fifi209
Możesz zapisać w formacie .csv i łatwo przetworzyć go w php.
Oczywiście lepszym rozwiązaniem jest to co podał kolega - no właściwie zależy od wymagań.
devdev
ok jednak jest problem z polskimi znakami ;/ macie jakieś rozwiązanie na ten problem
skowron-line
Cytat(devdev @ 8.02.2010, 21:02:22 ) *
macie jakieś rozwiązanie na ten problem

Odpowiednie kodowanie.
devdev
prubuje ale nic nie daje

zapisalem plik w utf dalem kodowanie utf w pliku i nic ;/
skowron-line
Zacznijmy od tego jakiej biblioteki używasz do odczytu xls -a?? + pokaż jakiś kod będzie łatwiej wskazać błąd.
Fifi209
Cytat(devdev @ 8.02.2010, 22:12:59 ) *
prubuje ale nic nie daje

zapisalem plik w utf dalem kodowanie utf w pliku i nic ;/

Na forum, tez masz problemy z polskimi znakami z tego co widzę.

Tak jak napisał skowron odpowiednie kodowanie, lecz ja bym dodał wysłanie odpowiedniego nagłówka:
  1. header('Content-Type: text/html; charset=utf8');
devdev
  1. <?php
  2. header('Content-Type: text/html; charset=utf8');
  3. error_reporting(E_ALL ^ E_NOTICE);
  4.  
  5. require_once 'excel_reader2.php';
  6. $data = new Spreadsheet_Excel_Reader("example.xls");
  7. ?>
  8. <html>
  9. <head>
  10. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  11.  
  12. <style>
  13. table.excel {
  14. border-style:ridge;
  15. border-width:1;
  16. border-collapse:collapse;
  17. font-family:sans-serif;
  18. font-size:12px;
  19. }
  20. table.excel thead th, table.excel tbody th {
  21. background:#CCCCCC;
  22. border-style:ridge;
  23. border-width:1;
  24. text-align: center;
  25. vertical-align:bottom;
  26. }
  27. table.excel tbody th {
  28. text-align:center;
  29. width:20px;
  30. }
  31. table.excel tbody td {
  32. vertical-align:bottom;
  33. }
  34. table.excel tbody td {
  35. padding: 0 3px;
  36. border: 1px solid #EEEEEE;
  37. }
  38. </style>
  39. </head>
  40.  
  41. <body>
  42. <?php echo $data->dump(true,true); ?>
  43. </body>
  44. </html>


TO jest kod ktory odczytuje xls'a dokument excela jest z paczki tylko dopisalem pl listery

zegarek84
PHP-ExcelReader. Problemy z kodowaniem polskich znaków. - ogólne rozwiązanie

dobry tutorial:
Zapis i odczyt arkuszy kalkulacyjnych Excela w PHP

pozatym odpowiednie kodowanie na stronie - czyli jeśli utf to w php na początku daj:
  1. ini_set('Content-Type','text/html; charset=utf-8');
  2. mb_internal_encoding("UTF-8");
  3. header('Content-type: text/html; charset=utf-8');

oraz nie zaszkodzi jeszcze meta do html'a dać:
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


i sprawdź czy nie masz BOM na początku pliku - nic nie może być wysłąne zanim nie wyślesz nagłówków header - co to jest to BOM odsyłam do google winksmiley.jpg
devdev
Poradziłem sobie sam smile.gif wystarczy podmienic w excel_reader2.php
  1. $val = htmlentities($val);

na
  1. $val = htmlentities($val,ENT_NOQUOTES, 'UTF-8');
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.