Ako dotaz a aktualizácia Excel údaje pomocou ADO od ASP

Preklady článku Preklady článku
ID článku: 195951 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok ukazuje ako dotaz a aktualizácie informácie hárku v programe Excel pomocou ActiveX Data Objects (ADO) z Active Server Pages (ASP) stránku. Článok tiež popisuje obmedzenia, sú spojené s tento druh žiadosti.

DÔLEŽITÉ: Hoci ASP/ADO aplikácií podporuje multi-user prístup, tabuľkového procesora Excel neposkytuje. Preto sa táto metóda dotazovania a aktualizovania informácií nepodporuje Multi-User súčasný prístup.

DALSIE INFORMACIE

Prístup k údajom v Excel spreadsheet pre tento vzorky, použiť ovládač ODBC spoločnosti Microsoft pre program Excel. Vytvorenie tabuľky pre prístup k údajov vytvorením pomenovaný rozsah v hárku programu Excel.

Postup vytvorenia Ukážková aplikácia

  • Vytvoriť súbor programu Excel ADOtest.xls s nasledujúce údaje v hárku s názvom Hárok1:

    Zbaliť túto tabuľkuRozbaliť túto tabuľku
    Stĺpec1Stĺpec2Stĺpec3
    RR Toto15
    bbskúška20
    EEdiela25

    Poznámka: Ak stĺpec v hárku programu Excel obsahuje text a čísla, program Excel ODBC ovládač nemôže správne interpretuje typ údajov by mali byť stĺpec. Uistite sa, že všetky bunky v stĺpci sú rovnaký typ údajov. Nasledujúce tri chyby sa môže vyskytnúť pri každej bunky v stĺpci nie je rovnakého typu alebo môžete mať typy zmiešané medzi "text" a "všeobecné":
    1. Poskytovateľa Microsoft OLE DB pre ovládače ODBC chyba "80040e21"
      Môže byť podložená žiadosť vlastnosti Tento ovládač ODBC.
    2. Poskytovateľa Microsoft OLE DB pre ovládače ODBC chyba "80004005"
      Dotaz nie je aktualizovateľný pretože to obsahuje nijaké prehliadateľné stĺpce použiť ako nádejné kľúče.
    3. Poskytovateľa Microsoft OLE DB pre ovládače ODBC chyba "80004005"
      Dotaz založený aktualizácia zlyhala. V riadku Aktualizovať sa nenašiel.
  • Pomenovaný rozsah, myRange1, vytvorte v hárku:

    1. Zvýrazniť riadky a stĺpce oblasti kde vaše údaje bydlisko.
    2. V ponuke Vložiť ukážte na položku Názov a kliknite na tlačidlo Definovať.
    3. Zadajte názov myRange1 pre pomenovaný rozsah meno.
    4. Kliknite na tlačidlo OK.
    MyRange1 pomenovaný rozsah obsahuje tieto údaje:

    Zbaliť túto tabuľkuRozbaliť túto tabuľku
    Stĺpec1Stĺpec2Stĺpec3
    RRToto15
    bbskúška20
    EEdiela25


    Poznámka: ADO predpokladá, že prvý riadok v dotaze Excel obsahuje záhlavia stĺpcov. Preto pomenovaný rozsah musí obsahovať hlavičky stĺpcov. To je odlišné správanie z DAO.

    Poznámka: Nadpisy stĺpcov nemôžu byť číslo. Ovládač programu Excel nemôžete interpretovať a namiesto toho vráti v bunke odkaz. Napríklad stĺpec nadpis "F1" by byť nesprávne vyložil.
  • Vytvoriť ODBC systému údajov zdroj názov (DSN) ukážete na položku ADOTest.xls súbor.
    1. Z ovládacieho panela, otvorte ODBC Správca.
    2. Na karte DSN systému kliknite na tlačidlo Pridať.
    3. Vyberte Microsoft Excel Driver (*.xls) a kliknite na tlačidlo Dokončiť. Ak táto možnosť neexistuje, musíte nainštalovať ovládač ODBC spoločnosti Microsoft for Excel z programu Excel Inštalátor.
    4. Vyberte ADOExcel pre názov zdroja údajov.
    5. Uistite sa, že verzia je nastavená na správnu verziu Excel.
    6. Kliknite na tlačidlo "Vybrať zošit...", prejdite na ADOTest.xls súbor a kliknite na tlačidlo OK.
    7. Kliknite na položku „Možnosti >> "tlačidlo a jasné"čítanie Len"políčko.
    8. Kliknite na tlačidlo OK a potom znova kliknite na tlačidlo OK.
  • Nastaviť povolenia na ADOTest.xls súbor.
Ak stránku Active Server je pristupovať anonymne, potrebujete Uistite sa, že aspoň má anonymný konto (IUSR_<machinename>) Čítanie a zápis (RW) prístup na pracovný hárok. Ak chcete odstrániť informácie z hárku, musíte prideliť povolenia podľa toho.<b00></b00></machinename>

Ak sa overuje prístup na stránku Active Server, musíte zabezpečiť, aby všetci používatelia prístup k vašej žiadosti príslušné povolenia.

Poznámka: Ak nenastavíte príslušné povolenia hárok, dostanete chybové hlásenie podobné nasledovnému:

Poskytovateľa Microsoft OLE DB pre ovládače ODBC chybu "80004005"

[Microsoft][Excel ovládač ODBC] Microsoft Jet Databázový mechanizmus nemôže otvoriť súbor (neznámy). Je už otvorené výlučne na iný používateľ, alebo potrebujete povolenie na zobrazenie jeho údajov.
  1. Vytvoriť novú stránku ASP a prilepte nasledujúci kód:
          <!-- Begin ASP Source Code -->
          <%@ LANGUAGE="VBSCRIPT" %>
          <%
            Set objConn = Server.CreateObject("ADODB.Connection")
            objConn.Open "ADOExcel"
    
            Set objRS = Server.CreateObject("ADODB.Recordset")
            objRS.ActiveConnection = objConn
            objRS.CursorType = 3                    'Static cursor.
            objRS.LockType = 2                      'Pessimistic Lock.
            objRS.Source = "Select * from myRange1"
            objRS.Open
       %>
       <br>
       <%
          Response.Write("Original Data")
    
          'Printing out original spreadsheet headings and values.
    
          'Note that the first recordset does not have a "value" property
          'just a "name" property.  This will spit out the column headings.
    
          Response.Write("<TABLE><TR>")
          For X = 0 To objRS.Fields.Count - 1
             Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
          Next
          Response.Write("</TR>")
          objRS.MoveFirst
    
          While Not objRS.EOF
             Response.Write("<TR>")
             For X = 0 To objRS.Fields.Count - 1
                Response.write("<TD>" & objRS.Fields.Item(X).Value)
             Next
             objRS.MoveNext
             Response.Write("</TR>")
          Wend
          Response.Write("</TABLE>")
    
          'The update is made here
    
          objRS.MoveFirst
          objRS.Fields(0).Value = "change"
          objRS.Fields(1).Value = "look"
          objRS.Fields(2).Value = "30"
          objRS.Update
    
          'Printing out spreadsheet headings and values after update.
    
          Response.Write("<br>Data after the update")
          Response.Write("<TABLE><TR>")
          For X = 0 To objRS.Fields.Count - 1
             Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
          Next
          Response.Write("</TR>")
          objRS.MoveFirst
    
          While Not objRS.EOF
             Response.Write("<TR>")
             For X = 0 To objRS.Fields.Count - 1
                Response.write("<TD>" & objRS.Fields.Item(X).Value)
             Next
             objRS.MoveNext
             Response.Write("</TR>")
          Wend
          Response.Write("</TABLE>")
    
          'ADO Object clean up.
    
          objRS.Close
          Set objRS = Nothing
    
          objConn.Close
          Set objConn = Nothing
       %>
       <!-- End ASP Source Code -->
    					
  2. Uložte a pomenujte stránku Active Server a zobrazenie na prehľadávač. Uvidíte nasledujúce:
          Original Data:
    
          column1    column2    column3
          -----------------------------
    
          rr         this       30
          bb         test       20
          tt         works      25
    
    
          Data after the update:
    
          column1    column2    column3
          -----------------------------
    
          change     look       30
          bb         test       20
          tt         works      25
    					
Poznámka: Aktualizácia bola vykonaná na prvom riadku pomenovaný rozsah (po položkách).

ODKAZY

Ďalšie informácie získate po kliknutí na nasledujúce číslo článku databázy Microsoft Knowledge Base:
190195Ako sa ExtractInformation Z hárka programu Excel s DAO

Vlastnosti

ID článku: 195951 - Posledná kontrola: 19. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Active Server Pages 4.0
  • Microsoft Data Access Components 2.5
Kľúčové slová: 
kbcode kbhowto kbmdacnosweep kbmt KB195951 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:195951

Odošlite odozvu

 

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