Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP > Excel
Forum PHP.pl > Forum > PHP
usb
Witam.

SPrawa wyglada nastepujaco:

Mam plik pusty w Excelu (jakas umowa z polami) i chcialbym wyexportowac z php dane do tych poszczegonych pól.

Jest mi to bardzo potrzebne, sprawa zycia i smierci.

Porsze o pomoc znawcow w tej dziedzinie. Pozdrawiam
skowron-line
http://pear.php.net/package/Spreadsheet_Excel_Writer

Tu masz napisane co i jak trzeba zrobić jak się wpisuje do poszczególnych komórek. itp.
usb
Dzieki to byla wazne teraz jeszcze waznijeesze zeby ruszyc w to zycie..pozdrawiam







Ok wiec udalo mi sie wygenerowac plik xls z danymi z php ale jest to zupelnie nowy plik. Jak zrobic zeby juz w utworzony wcześniej plik wypelnic odpowiednie pola?
php programmer
Najbardziej sensownym rozwiązaniem jest stworzenie pliku CSV,
i odczytanie go przez EXCEL

Kod
nagłówek1; nagłówek2; nagłówek3;
a; b; c;
d; e; f;



Cytat
Jak zrobic zeby juz w utworzony wcześniej plik wypelnic odpowiednie pola?


Takich rzeczy się raczej nie robi

Ewentualnie możesz wyeksportować w excelu plik xls do postaci CSV
odczytać go przez php zmodyfikować dane i utworzyc wynikowy plik CSV
ale jest przy tym troche zabawy, raczej nie polecam
usb
Tylko ze ten plik exel to poprostu umowa z roznymi polami (formularz) i chcialbym zeby dane z php poprostu w te odpowiedni pola sie wypelnily..
php programmer
Popatrz logicznie, ten twój początkowy plik xls ma stałą formę,
to chyba łatwiej utworzyć ci ten plik w całości w php
skoro i tak wiesz jak wygląda szablon,
przerabiałem ten temat kilkakrotnie
i wydaje mi sie ze oszczedzisz duzo czasu i nerwow
po za tym pliki xls nie zostały stworzone do
tego aby sluzyly jako dane wejsciowe dla programu,
Jesli te pola nie sa zawszetakie same to
lepiej stworzyc jakis formularz ina jego podstawie,
tworzyc wynikowe pliki xls lub csv.

Pomysł z pobieraniem danych z excela na pewno dal ci
klient, który zna sie troche na obsludze office i mysli ze tak trzeba,
tym czasem najczesciej jak juz stworzysz taki skrypt
to sie potem okazuje ze klient wpisał nie w to pole co trzeba w excelu
a wina bedzie na twój skrypt
sowiq
php programmer ma rację. Ułatwisz sobie życie, jeśli będziesz ten plik tworzył od nowa, jeśli treść będzie taka sama (pomijając oczywiście zawartość pól formularza).

Ewentualnie pozostają Ci wyrażenia regularne i uzupełnianie w ten sposób. Ale wtedy struktura dokumentu też powinna być mniej-więcej taka sama.

Jest też inny sposób (nie wiem czy tak jest w Excelu, więc mnie poprawcie jakbym nabredził) - w pola formularza dokumentu xls wstawiasz sobie jakieś wartości domyślne (jeśli dokument nie będzie widoczny wcześniej, to nawet jakieś teksty typu tu_bedzie_wstawione_imie) i potem zamieniasz to zwykłym str_replace().
usb
Dzieki za rady, napewno mi sie przydadza.

pzdr
qlet
Witam, nie będę zakładał nowego tematu bo problem w sumie mam podobny, mianowicie w pliku wynikowym mam taki kawałek kodu:

Kod
       //zapis do pliku
  
       require_once "Spreadsheet/Excel/Writer.php";
  
       $xls = new Spreadsheet_Excel_Writer('baza.xls');
      
      
       $arkusz = $xls->addWorksheet('ankieta');
       $arkusz->write(0, 0, "$p1_1");
       $arkusz->write(0, 1, "$p1_2");
       $arkusz->write(0, 2, "$p2");
       $arkusz->write(0, 3, "$p3");
       $arkusz->write(0, 4, "$p4_1");
       $arkusz->write(0, 5, "$p4_2");
       $arkusz->write(0, 6, "$p4_3");
       [...]

       $xls->close();


Wiadomo, zostaje utworzony nowy plik xls z zapisanymi wartościami ze zmiennych, a teraz moje pytanie: co muszę zmienić aby dane (z kolejnego wypełnienia formularza) były zapisywane w wierszu niżej i nie zastępowały tych, które są już zapisane w pliku.
mlattari
Alternatywą, jeżeli dane się zmieniają (mamy np. jakiś formularz), może być stworzenie bazy danych MySql, zapisywanie w niej danych w odpowiednich tabelach i zastosowanie po stronie klienta MySql ODBC Connector oraz stworzenie kwerendy z zewnętrznym żdródłem danych w Excelu. Wtedy dane pobierane są z serwera MySql do Excela i można w Excelu sobie je odpowiednio filtrować np. za pomocą pól wyboru powiązanych z kolumnami pobranymi z MySql (które umieścimy w osobnym arkuszu) (czyli użycie funkcji sprawdzania poprawności danych). Dane mogą być w ten sposób pobierane nawet stosując SSL z kluczami po stronie klienta (trzeba odpowiednio ustawić opcję SSL w GRANT) :-) Bardzo fajna i bezpieczna zabawa :-)
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.