Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Excel
Forum PHP.pl > Forum > PHP
Czesław
Witam!! Mam na stronie link który ma przenosic mnie do grafiku pracy pracowników który jest zrobiony w Excelu. Cały plik wygląda dokładnie tak:

  1.  
  2. <?
  3.  
  4. require_once 'excel_reader2.php';
  5.  
  6. $xls = new Spreadsheet_Excel_Reader();
  7.  
  8. $xls->setUTFEncoder('iconv');
  9.  
  10. $xls->setOutputEncoding('UTF-8');
  11.  
  12. $xls->read('grafik.xls');
  13.  
  14.  
  15.  
  16. ?>
  17. <html>
  18.  
  19.  
  20. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  21.  
  22.  
  23.  
  24. <style>
  25.  
  26. table.excel {
  27.  
  28. border-style:ridge;
  29.  
  30. border-width:1;
  31.  
  32. border-collapse:collapse;
  33.  
  34. font-family:sans-serif;
  35.  
  36. font-size:12px;
  37.  
  38. }
  39.  
  40. table.excel thead th, table.excel tbody th {
  41.  
  42. background:#CCCCCC;
  43.  
  44. border-style:ridge;
  45.  
  46. border-width:1;
  47.  
  48. text-align: center;
  49.  
  50. vertical-align:bottom;
  51.  
  52. }
  53.  
  54. table.excel tbody th {
  55.  
  56. text-align:center;
  57.  
  58. width:20px;
  59.  
  60. }
  61.  
  62. table.excel tbody td {
  63.  
  64. vertical-align:bottom;
  65.  
  66. }
  67.  
  68. table.excel tbody td {
  69.  
  70. padding: 0 3px;
  71.  
  72. border: 1px solid #EEEEEE;
  73.  
  74. }
  75.  
  76. </style>
  77.  
  78. </head>
  79.  
  80.  
  81.  
  82. <body>
  83.  
  84. <?php echo $xls->dump(true,true); ?>
  85.  
  86. </body>
  87.  
  88. </html>


Może mi ktoś podpowiedziec dlaczego nie wyświetla mi polskich znaków tylko jakieś dziwne krzaczki?? Czytałem kilka tematów na forum i wszędzie piszę że trzeba zmienic kodowanie na UTF-8 , tutaj jest to niby zrobione a nadal nie działa...

Jeżeli to coś zmienia to grafik był pisany w Excel'u XP.
darophp
Na ISO-8859-2 spróbuj, bo to zależy od serwera.
Czesław
  1. require_once 'excel_reader2.php';
  2.  
  3. $xls = new Spreadsheet_Excel_Reader();
  4.  
  5. $xls->setOutputEncoding('ISO-8859-2');
  6.  
  7. $xls->read('example.xls');


Zmieniłem i nic nie dało. Jakieś inne pomysły??
raf30al
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
To tez zmień
Czesław
Zmieniłem i nadal nic, wyczytałem jeszcze że w pliku excel_reader2.php można spróbowac zmienic linię z wartością $val na taką:
  1. $val = htmlentities($val, ENT_NOQUOTES, 'ISO-8859-2');


Ale to też nie pomogło i dodatkowo dostałem komunikat: Warning: htmlentities() [function.htmlentities]: charset `ISO-8859-2' not supported, assuming iso-8859-1

Wyprzedzając pytanie wpisałem iso-8859-1 tam i na stronie ale też nie pomogło.

Macie jakiś sposób questionmark.gif Mi chodzi tylko i wyłącznie o to żeby po naciśnięciu przycisku grafik pracy odpaliła się stronka na której wyrzuci mi zawartośc pliku Excel, nie ma tam byc żadnej oprawy graficznej itp tylko ta tabelka...

Po zmianach kod wygląda tak:
  1. <?
  2.  
  3. require_once 'excel_reader2.php';
  4.  
  5. $xls = new Spreadsheet_Excel_Reader();
  6.  
  7. $xls->setOutputEncoding('ISO-8859-2');
  8.  
  9. $xls->read('grafik.xls');
  10.  
  11.  
  12.  
  13. ?>
  14. <html>
  15.  
  16.  
  17. <meta http-equiv="Content-Type" content="text/html; charset= ISO-8859-2" />
  18.  
  19.  
  20.  
  21. <style>
  22.  
  23. table.excel {
  24.  
  25. border-style:ridge;
  26.  
  27. border-width:1;
  28.  
  29. border-collapse:collapse;
  30.  
  31. font-family:sans-serif;
  32.  
  33. font-size:12px;
  34.  
  35. }
  36.  
  37. table.excel thead th, table.excel tbody th {
  38.  
  39. background:#CCCCCC;
  40.  
  41. border-style:ridge;
  42.  
  43. border-width:1;
  44.  
  45. text-align: center;
  46.  
  47. vertical-align:bottom;
  48.  
  49. }
  50.  
  51. table.excel tbody th {
  52.  
  53. text-align:center;
  54.  
  55. width:20px;
  56.  
  57. }
  58.  
  59. table.excel tbody td {
  60.  
  61. vertical-align:bottom;
  62.  
  63. }
  64.  
  65. table.excel tbody td {
  66.  
  67. padding: 0 3px;
  68.  
  69. border: 1px solid #EEEEEE;
  70.  
  71. }
  72.  
  73. </style>
  74.  
  75. </head>
  76.  
  77.  
  78.  
  79. <body>
  80.  
  81. <?php echo $xls->dump(true,true); ?>
  82.  
  83. </body>
  84.  
  85. </html>


Jeżeli chodzi o serwer to ja używam WebServ'a i wszystko na tej stronie odpalam jako localhost. A ten excel_reader to wersja 2.1 czyli niby najnowsza.
Pilsener
Jak tworzysz plik .xls to logiczne, że musi on mieć kodowanie windows, dlatego krzaki przed wstawieniem do excela należy przekonwertować, niestety funkcje konwertujące słabo sobie radzą z windows ale jest rada i na to:
  1. $nazwa = strtr($nazwa,'ˇ&brvbar;&not;&plusmn;&para;Ľ', 'ĄŚŹąśź');
- taki kod zmienia polskie krzaki w ISO na windows i odwrotnie ( np. znak &para; na ś), a z ISO na UTF już bardzo prosto zmienić.
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.