PHP v spolupráci s MS Excel |
|||||||||||||||||||||||||||||||||
ZačínameOK, tak čo to tu mame.
Tento seminár/web pojednáva o skriptovacom jazyku PHP,
niečo málo a základoch ale hlavne o sprístupnení Excelovskej tabuľky
pre tento jazyk. Čo to dokážeMali by sme dosiahnuť jednej veci, a to aby sme mohli s Excelovským súborom pracovať ako s SQL databázou. To znamená aby sme mohli používať príkazy ako je SELECT, INSERT, UPDATE alebo DELETE. Dosiahnuť sa to dá mnohými spôsobmy ale ako najjednoduchší (ale nie najlepší) sa mi javí spojenie cez ODBC. DatabázaMajme databázu v Excelovskej tabuľke, ktorú chceme používať ako skutočnú databázu. V Ovladacom panely najdeme ikonku pomenovanú ODBC alebo veľmi podobne. Na prvej záložke User DSN klikneme na Add po ktorom sa nam otvorí dialog so zoznamom ODBC ovládačov. Vyberieme Microsoft Excel driver a dame OK. Vypíšeme meno pod ktorým budeme k databáze pristupovať. V nasom pripade phpexcel. Další klik nasleduje na Select Workbook kde vyberieme konkrétny XLS na disku. Dalej odškrtneme položku len na čítanie a je to. A Excel...Teraz zadefinujem rozsah a rozloženie tabuľky s Excely. Otvoríme príslušný excelovský súbor a v menu vyberieme Vložiť-Názov-Definovať. V dialogu vypíšeme nazov našej tabuľky v našom prípade databaza. V spodnom riadku dialógu vyberieme rozsah buniek prislúchajúce našej tabulke a klikneme na Pridať. HotovoTakže po dlhom trápení sme sa prepracovali až k samému koncu, tzn. vyslednému skriptu. Nech oči vaše zamerajú sa na riadok nižší:
<? //otvorenie spojenia s databazou, v tomto //pripade tabulky v Excelovskom subore //prihlasenom v ODBC $spojenie = odbc_connect("phpexcel", "", ""); //ak sa podari spojit s databazov, //vykonaj SQL prikaz SELECT if (!$spojenie): echo "Nepodarilo sa spojit s databazou"; else: $vysledok=odbc_exec($spojenie,"SELECT * FROM databaza where (kraj='TA') order by obec"); //kontrola na chybu v SQL dotaze, //ak nie, nasleduje vypisanie vysledku if (!$vysledok): echo"chyba dotazu: ".$vysledok; echo odbc_errormsg(); else: //nasleduje vypisanie obsahu dotazu, v tomto pripade //nazov obce a jeho PSC while (odbc_fetch_row($vysledok)): echo odbc_result($vysledok, "obec")." ". odbc_result($vysledok, "psc")."\n"; echo "<BR>"; endwhile; endif; //uzatvorenie spojenia odbc_close($spojenie); endif; ?> Niečo na záverJe to potrebné? Myslím,
že nie. Lúčim sa. |