Re: Excel a ADO

From: Martin Zeidler (zm@wo.cz)
Date: 11. 04. 2001, 19:52 CEST


> Vazeni,
> mate nekdu kusenosti s pouzitim tabulky excelu jako zdroje dat.  Pokud
totiz
> zadam jako zdroj dat tabulku excelu, spojeni se zrejme vytvori ale ackoliv
> mam na listu pojmenovanou jak tabulku, tak se mi dostava hlasky, ze nemuze
> najit tabulku. Pri pouziti accesovske db mi nacte pozadovane udaje OK. Jak
> se odvolat na zminenou tabulku nebo pole, kdyz ne jmenem, ktere maji na
> listu nadefinovane? Diky. Oldrich
>

Ja jsem kdysi potreboval vytahovat data z Excelu pomoci PHP a nemohl jsem
prijit jak na to - az jsem nasel v archivu nejake konference toto:

----------------------
Nasledujici reseni mi zabralo temer den prace. Pokud tento cas nekomu
usetrim, budu rad (a on asi taky :o)
Pro testovani databazovych funkci v PHP jsem potreboval vytvorit rychle a
lehce databazi, a to nejlepe v Excelu. Potiz s niz jsem se utkal byla ta, ze
po nastaveni ODBC spojeni v ovladacich panelech se mi databazi podarilo v
PHP otevrit (ODBC_Connect), ale dotaz do databaze (ODBC_Exec) hlasil, ze
nemuze najit zdroj dat pro dotaz. Domnival jsem se, ze timto zdrojem musi by
nazev prislusneho listu, ale chyba lavky.
Zdrojem dat je  p o j m e n o v a n a   o b l a s t  (v Excelu / menu:
Vlozit - nazev - definovat).

Jak udelat databazi v Excelu:
V prvnim radku se uvedou nazvy poli (na ty se pak odkazujeme v PHP funkci
ODBC_Result)
V dalsich radcich jsou potom jednotlive polozky databaze.
Oblast databaze oznacime mysi (vcetne prvniho radku) a oblast pojmenujeme
(viz vyse). Na tento nazev se pak odkazujeme v PHP funkci ODBC_Exec za
klauzuli FROM).
Pozor: Oznacena oblast by mela koncit poslednim vyplnenym radkem
tabulky-databaze. Pak bude i testovani konce dat v PHP fungovat spravne
(vysledek funkce ODBC_Fetch_Row - true/false). Pokud jako pojmenovanou
oblast vyberete cele sloupce (abyste po pridani ci ubrani radku v databazi
nemuseli priste oblast znovu oznacovat a tim si setrit praci), nezapomente v
PHP testovat konec dat (treba while $Udaj=="").

Aby ODBC spojeni vzniklo, musime je vytvorit v Ovladacich panelech - Zdroje
ODBC - Systemova DSN - Pridat. V seznamu vybrat "MS Excel Driver" (neni-li v
seznamu, je nutne ho doinstalovat z MS Office instal. media) a pokracovat
tlacitkem "dokoncit". V nasledne tabulce zadate "nazev zdroje dat" -
libovolne (na ten se pak budete odkazovat v PHP fci ODBC_Connect). A dale
tlacitkem "vybrat sesit" zadate cestu a nazev .xls souboru, v nemz mate
databazi vytvorenou). A je to !
--------------

Konec citatu :o)

Martin Zeidler
----------------------
mailto:pepa_z_hongkongu@wo.cz
http://kopec.yo.cz
http://zeidler.web.worldonline.cz



This archive was generated by hypermail 2.1.2 : 04. 09. 2001, 06:20 CEST