Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [symfony] Symfony i zabawa z plikami Excela
Forum PHP.pl > Forum > PHP > Frameworki
parzol
Witam ponownie.

No i kolejny problem z naszym kochanym Symfony. Potrzebuje w jakiś szybki i prosty sposób importować i exportować pliki Excela(xls) w tym frameworku.
Szukałem na necie i znalazłem fajną klasę PEAR: Spreadsheet_Excel_Writer. Sama w sobie zainstalowana działa bardzo fajnie. Jak tylko podpiąć tą klasę do projektu w Symfony? Bo wyrzuca mi masę błędów i nie wiem wogóle czy dobrze się do tego zabieram. A może ktoś ma alternatywne rozwiązanie dla mnie? Jakiś plugin do Symfony który rozwiązuje sprawę obsługi plików XLS?


Pozdrawiam,
Parzol.
destroyerr
Może napisz co wrzucasz i gdzie wrzucasz?
Poza tym warto jak zawsze przeczytać: Extending the Autoloading Feature.
parzol
No więc pliki z paczek:
http://download.pear.php.net/package/Sprea...riter-0.9.1.tgz
http://download.pear.php.net/package/OLE-0.6.1.tgz

Wrzucam do moj_projekt/lib/

Wywalało pełno błędów a więc zgodnie z jakąś poradą w necie zakomentowałem wszystkie require w plikach php. I na 1 rzut oka wszystko ok. Wykonuje swoj skrypt pojawia mi sie okno otworz/zapisz plik daje zapisz na HDD. Ale po otwarciu pliku mam pełno błędów sad.gif

  1. <?php
  2. Strict Standards: Assigning the return value of new by reference is deprecated in /home/parzol/public_html/bellatoscana/lib/Writer/Workbook.php on line 186
  3.  
  4. Strict Standards: Assigning the return value of new by reference is deprecated in /home/parzol/public_html/bellatoscana/lib/Writer/Workbook.php on line 195
  5.  
  6. Strict Standards: Assigning the return value of new by reference is deprecated in /usr/share/php5/PEAR/PEAR.php on line 563
  7.  
  8. Strict Standards: Assigning the return value of new by reference is deprecated in /usr/share/php5/PEAR/PEAR.php on line 566
  9.  
  10. Strict Standards: Non-static method OLE::Asc2Ucs() should not be called statically, assuming $this from incompatible context in /home/parzol/public_html/bellatoscana/lib/Writer/Workbook.php on line 586
  11.  
  12. Strict Standards: is_a(): Deprecated. Please use the instanceof operator in /usr/share/php5/PEAR/PEAR.php on line 275
  13.  
  14. Strict Standards: Non-static method OLE::Asc2Ucs() should not be called statically, assuming $this from incompatible context in /home/parzol/public_html/bellatoscana/lib/PPS/Root.php on line 52
  15.  
  16. Strict Standards: Non-static method OLE::LocalDate2OLE() should not be called statically, assuming $this from incompatible context in /home/parzol/public_html/bellatoscana/lib/PPS.php on line 190
  17.  
  18. Strict Standards: Non-static method OLE::LocalDate2OLE() should not be called statically, assuming $this from incompatible context in /home/parzol/public_html/bellatoscana/lib/PPS.php on line 191
  19. ?>


Mój kod wygladą następująco:

  1. <?php
  2. $workbook = new Spreadsheet_Excel_Writer();
  3.  
  4. $worksheet =& $workbook->addWorksheet('My first worksheet');
  5.  
  6. $worksheet->write(0, 0, 'Name');
  7. $worksheet->write(0, 1, 'Age');
  8.  
  9. $workbook->send('test.xls');
  10. $workbook->close();
  11. ?>


Jak widać kod z tutoriala na maxa prosty. Co robie nie tak? Jakieś wskazówki? sciana.gif
mike
No ale to nie ma żadnego związku z Symfony.
Symfony po prostu pokazało Ci (wcześniej pewnie wyłączyłeś wyświetlanie błędów a Symfony w trybie dev zawsze je wyświetla) jakie błędy robisz.

Poczytaj o referencjach i o tym co zmieniło się w PHP5
parzol
Ale jak mogę robić błędy jak prawie nic nie napisałem sam ? blinksmiley.gif

Ten kawałek kodu to z tutoriala. A nawet jak w nim usunę referencje to i tak mam te błędy. A więc jakby "wina" leży po stronie paczek PEARa. Jednak same w sobie działają dobrze. Problem pojawia się właśnie jak tutaj kiedy wrzucam je do Symfony. Nie wiem jak to połączyć. W tym problem....
mike
No faktycznie to ta biblioteka jest napisana beznadziejnie :-)
Wyłącz pokazywanie błędów należących do E_STRICT

Plik settings.yml, dyrektywa error_reporting. Ustaw ją na, na przykład: E_ALL & ~E_STRICT
nospor
Cytat
No faktycznie to ta biblioteka jest napisana beznadziejnie
Ona jest poprostu pisana pod php4 a wykonywana jest pod php5. Ot i cala filozofia winksmiley.jpg
parzol
To zadam może inne pytanie: istnieje jakiś soft do obsługi plików Excela napisany w PHP5? smile.gif
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.