ExcelADO demonstruje použití objektů ADO ke čtení a zápisu dat v sešitech aplikace Excel

Překlady článku Překlady článku
ID článku: 278973 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

ExcelADO.exe vzorek ukazuje možné použití ActiveX Data Objects (ADO) s Microsoft Jet OLE DB 4.0 Provider číst a zapisovat data v sešitech aplikace Excel.

Další informace

Následující soubor je k dispozici ke stažení z webu služby Stažení softwaru:
ExcelADO.exe
Datum vydání: Prosince 12, 2000

Další informace o tom, jak stahovat soubory technické podpory společnosti Microsoft naleznete následující článku znalostní báze Microsoft Knowledge Base:
119591Jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Microsoft je prohledáván soubor byl zkontrolován na výskyt virů. Společnost Microsoft použila ke aktuální antivirový software, která byla k dispozici na datum, kdy byla zaúčtována v souboru. Soubor je uložen na zabezpečených serverech neumožňujících neoprávněné změny tohoto souboru.

Proč používat ADO?

Použití objektů ADO k přenosu dat na nebo načtení dat ze sešitu aplikace Excel nabízí jste vývojář, několik výhod prostřednictvím automatizace do aplikace Excel:
  • Výkon. Aplikace Microsoft Excel je serverem ActiveX out-of-process. ADO spuštěna v procesu a uloží režii nákladné out-of-process volání.
  • Škálovatelnost. U webových aplikací je žádoucí není vždy k automatizaci aplikace Microsoft Excel. ADO představuje řešení více proporcionálních zpracovávat data v sešitu.
ADO lze použít výhradně k přenosu nezpracovaná data do sešitu. Chcete-li použít formátování nebo vzorce buněk nelze použít ADO. Však data můžete přenášet do sešitu, který je pre-formatted a je udržována ve formátu. Pokud požadujete, "podmíněné" formátování po vkládat data, můžete provést toto formátování pomocí automatizace nebo makra v sešitu.

Specifikace Jet OLE DB Provider pro sešity aplikace Excel

Databázový stroj Microsoft Jet lze získat přístup k datům v jiných formátech souborů databáze, jako jsou například sešity aplikace Excel prostřednictvím ovladače instalovatelný indexovaných sekvenční přístup metody ISAM (). Chcete-li otevřít externí formátů podporovaných systémem zprostředkovatele Microsoft Jet 4.0 OLE DB Provider, zadáte typ databáze v rozšířené vlastnosti připojení. Jet OLE DB Provider podporuje následující typy databáze pro sešity aplikace Microsoft Excel:
  • Aplikace Excel 3.0
  • Aplikace Excel 4.0
  • Aplikace Excel 5.0
  • Aplikace Excel 8.0
Poznámka: použít typ Excel 5.0 zdrojové databáze pro sešity aplikace Microsoft Excel 5.0 a 7.0 (95) a použití typu databáze aplikace Excel 8.0 zdroje pro aplikaci Microsoft Excel 8.0 (97) a 9.0 sešity (2000). ExcelADO.exe příkladu sešitů aplikace Excel ve formátu aplikace Excel 97 a Excel 2000.

Následující ukázky prokázat sešit aplikace ADO připojení do Excel 97 (nebo 2000):
Dim oConn As New ADODB.Connection
With oConn
    .Provider = "Microsoft.Jet.OLEDB.4.0"
    .Properties("Extended Properties").Value = "Excel 8.0"
    .Open "C:\Book1.xls"
    '....
    .Close
End With
				
- nebo -
Dim oConn As New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=C:\Book1.xls;" & _
           "Extended Properties=""Excel 8.0;"""
oConn.Close
				
Konvence názvů tabulky

Několika způsoby lze referenční tabulky (nebo rozsah) v sešitu aplikace Excel:
  • Použít název listu, následovaným znakem dolaru (například [List1 $] nebo [Tento sešit $]). Tabulku s tímto způsobem odkazuje sešitu se skládá z použitých celou oblast listu.
    oRS.Open "Select * from [Sheet1$]", oConn, adOpenStatic
    					
  • Použít rozsah s definovaným názvem (například [Tabulka1]).
    oRS.Open "Select * from Table1", oConn, adOpenStatic
    					
  • Použít rozsah s určitou adresu (například [List1 $ A1: B10]).
    oRS.Open "Select * from [Sheet1$A1:B10]", oConn, adOpenStatic
    					
Záhlaví tabulky

Pomocí sešitů aplikace Excel první řádek v oblasti se považuje za řádek záhlaví (nebo názvy polí) ve výchozím nastavení. Pokud první oblast záhlaví neobsahuje, můžete určit HDR = NO v dialogovém okně Rozšířené vlastnosti v připojovací řetězec. Pokud první řádek neobsahuje záhlaví, zprostředkovatele OLE DB automaticky názvy polí pro vás (F1, by představovalo první pole, v případě F2 by představují druhé pole a tak dále).

Typy dat

Na rozdíl od tradičních databáze neexistuje přímý způsob zadat datové typy pro sloupce v tabulkách aplikace Excel. Místo toho zprostředkovatele OLE DB prohledává omezený počet řádků ve sloupci Typ dat pro pole "uhodnout". Počet řádků, které chcete prohledat výchozí nastavení je 8 (osm) řádků; můžete změnit číslo řádků ke skenování zadáním hodnoty mezi jedna (1) a 16 (šestnáct) pro nastavení MAXSCANROWS v rozšířené vlastnosti připojovací řetězec.

Soubory obsažené v ukázky

Soubor ExcelADO.exe obsahuje projekt standardní EXE jazyka Visual Basic, Active Server Pages (ASP), Excel 97 a sešitů aplikace Excel 2000, které se chovají jako šablony a databázi Microsoft Access 2000. Soubory zahrnuté jsou následující:

Standardní soubory projektů EXE jazyka Visual Basic
  • ExcelADO.vbp
  • Form1.FRM
  • Form1.frx
Prostředí ASP
  • EmpData.asp
  • Orders.ASP
Sešity Microsoft Excel
  • OrdersTemplate.xls
  • EmpDataTemplate.xls
  • ProductsTemplate.xls
  • SourceData.xls
Databáze Microsoft Access
  • Data.mdb

Použití ukázky

Extrahujte obsah souboru .exe do složky.

Použití projektu jazyka Visual Basic:
  1. V jazyce Visual Basic otevřete soubor ExcelADO.vbp.
  2. V nabídce projekt vyberte odkazy a nastavte odkazy Microsoft ADO Ext. for DDL and Security a Knihovny Microsoft ActiveX Data Objects. Tento vzorek kódu pracuje s ADO 2.5 i ADO 2.6, tak vyberte verzi vhodná k vašemu počítači.
  3. Stisknutím klávesy F5 ke spuštění programu. Zobrazí se formulář pro prokázání.
  4. Klepněte na vzorek 1. Tento příklad vytvoří kopii OrdersTemplate.xls. Poté použije ADO pro připojení k sešitu a otevře Recordset na tabulce, která je definovaná oblast v sešitu. Název oblasti je Orders_Table. Používá objekty ADO metodu AddNew / Update metody pro přidávání záznamů (nebo řádky) v oblasti definované v sešitu. Po dokončení přidání řádku ADO připojení je uzavřen a zobrazí se sešit v aplikaci Microsoft Excel. Postupujte postupujte takto:
    1. V nabídce Vložit v aplikaci Excel vyberte jména a vyberte definovat.
    2. V seznamu definovaných názvů vyberte Orders_Table. Všimněte si, že definovaný název vzrostla zahrnout tyto nově přidané záznamy. Definovaný název je používán, společně s posun funkce aplikace Excel, vypočítat součet na data do listu.
    3. Ukončete aplikaci Microsoft Excel a vrátíte se do aplikace Visual Basic.
  5. Klepněte na vzorek 2. Tento příklad vytvoří kopii EmpDataTemplate.xls. Chcete-li se připojit k sešitu používá ADO a používá metody Execute připojení objektů ADO k vložení dat (INSERT INTO v SQL) do sešitu. Data budou přidána v definované rozsahy (neboli tabulky) v sešitu. Při přenosu dat, připojení je ukončeno a zobrazí se v aplikaci Excel sešit, který výsledky. Po kontrole sešitu ukončit aplikaci Microsoft Excel a potom se vraťte k aplikaci Visual Basic.

  6. Klepněte na příkaz ukázkové 3. Tento příklad vytvoří kopii ProductsTemplate.xls. Microsoft ADO Extensions 2.1 DDL a zabezpečení objektu knihovny (ADOX), chcete-li přidat novou tabulku (nebo do nového listu) používá k sešitu. ADO Recordset je potom získané pro nové tabulky a data přidána pomocí metodu AddNew / metody Update. Po dokončení přidání řádku ADO připojení je uzavřena a sešit je v aplikaci Excel zobrazeny. Sešit obsahuje jazyka Visual Basic pro kód makra (VBA) v události Open pro sešitu. Spuštění makra při otevření sešitu, pokud nový list "Výrobky" existuje v sešitu, kód makra formáty listu a poté odstraněn kód makra. Tento postup představuje způsob, jak webový vývojář přesunout formátování kódu směrem z webového serveru a klienta. Webové aplikace může vysílat formátovaný sešit, který obsahuje data pro klienta a povolit makra kód, který by provést jakékoli "podmíněné" formátování, které nemusí být možné v šabloně samostatně pro spuštění v klientském počítači.

    Poznámka: Chcete-li zkontrolovat kód makra, zobrazit modul ThisWorkbook v VBAProject pro ProductsTemplate.xls.

  7. Klepněte na příkaz ukázkové 4. Tento příklad vytvoří stejné výsledky jako vzorek 1, ale technika, která se používá k přenosu dat se mírně liší. V ukázkové 1 záznamy (nebo řádky) jsou přidány do jednoho listu najednou. Vzorek 4 přidá záznamy volně ložené pomocí připojení k databázi aplikace Access tabulku aplikace Excel a spuštění přidávacího dotazu (nebo INSERT INTO..SELECT FROM) připojte záznamy z tabulky v tabulce aplikace Access do tabulky aplikace Excel. Po dokončení převodu tabulku aplikace Excel je odpojen z databáze aplikace Access a zobrazí se v aplikaci Excel sešit, který výsledky. Ukončení aplikace Excel a vraťte se do aplikace Visual Basic.

  8. Poslední ukázkový ilustruje, jak můžete číst data ze sešitu aplikace Excel. Vyberte tabulku v rozevíracím seznamu a klepněte na tlačítko ukázkové 5. Zobrazí se v okně Immediate obsah tabulky, kterou jste vybrali. Pokud vyberete celý list (List1 $"nebo"$ List2") pro tabulku, okna Immediate zobrazí obsah používaný rozsah pro tento list. Všimněte si, že používaný rozsah nutně nezačíná na řádku 1 sloupci 1 listu. Používaný rozsah začíná horní buňky nejvíce vlevo v listu, který obsahuje data.

    Pokud vyberete konkrétní rozsah adresa nebo definovaný rozsah, okna Immediate zobrazí obsah pouze tato oblast na listu.
Chcete-li použít Active Server Pages (ASP):
  1. Vytvořit novou složku s názvem ExcelADO do domovského adresáře serveru WWW. Všimněte si, že výchozí cestu k domovskému adresáři C:\InetPut\WWWRoot.
  2. Zkopírujte do složky, ve které jste vytvořili v předchozím kroku následující soubory:
    • EmpData.asp
    • Orders.ASP
    • Data.mdb
    • EmpDataTemplate.xls
    • OrdersTemplate.xls

  3. Skripty ASP v této vzorové vytvoření kopie šablony sešitu s metodou KopírovatFileSystemObject. Metoda copy proběhla úspěšně klienta, který přistupuje k skript musí mít přístup k zápisu do složky, která obsahuje ASP.
  4. Přejděte do Orders.asp (http://YourServer/ExcelADO/Orders.ASP) a poznamenejte si, že prohlížeč zobrazí sešit aplikace Excel, která je podobná jedné v 1 ukázkové aplikace Visual Basic.
  5. Přejděte do EmpData.asp (http://YourServer/ExcelADO/EmpData.ASP) a poznamenejte si, že prohlížeč zobrazí sešit aplikace Excel, která je podobná jedné 2 ukázkové aplikace Visual Basic.
(c) 2000 Microsoft Corporation Všechna práva vyhrazena. Příspěvky Lenka B. Turner, Microsoft Corporation.

Odkazy

Další informace získáte v následujících článcích v databázi Microsoft Knowledge Base:
195951POSTUPY: Dotaz a aktualizace dat aplikace Excel pomocí objektů ADO Z prostředí ASP
194124PRB: Excel hodnoty vrácené jako NULL pomocí DAO OpenRecordset
193998POSTUPY: Číst a zobrazit binární data v prostředí ASP
247412INFORMACE: Metody pro přenos dat do aplikace Excel prostřednictvím jazyka Visual Basic
257819POSTUPY: Použití objektů ADO s daty aplikace Excel z aplikace Visual Basic nebo VBA

Vlastnosti

ID článku: 278973 - Poslední aktualizace: 8. března 2005 - Revize: 6.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Excel 2000 Standard Edition
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Active Server Pages 4.0
Klíčová slova: 
kbmt kbdownload kbdownload kbautomation kbfile kbprogramming KB278973 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:278973

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com