Jak dotaz a aktualizace Excel Data pomocí objektů ADO V prostředí ASP

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

Na této stránce

Souhrn

Tento článek ukazuje, jak vyhledávat a aktualizovat informace v tabulce aplikace Excel pomocí ADO (ActiveX Data Objects) z Stránky Active Server Pages (ASP). Článek také popisuje omezení, jsou spojeny s Tento typ aplikace.

Důležité: když Aplikace prostředí ASP a objektů ADO podporovat více uživatelů, tabulky aplikace Excel nepodporuje. Proto nepodporuje tento způsob dotazování a aktualizace informací souběžný přístup více uživatelů.

Další informace

Přístup k datům v aplikaci Excel pro tento Ukázka, použijte ovladač Microsoft ODBC pro aplikaci Excel. Vytvoření tabulky pro přístup data v aplikaci Excel vytvořit pojmenovanou oblast.

Postup vytvoření vzorové aplikace

  • Vytvořit soubor aplikace Excel ADOtest.xls s následující data v listu List1:

    Zmenšit tuto tabulkuRozšířit tuto tabulku
    Sloupec1Sloupec2hodnoty ve sloupci Sloupec3
    záznam o prostředku to15
    BBTest20
    éstavební práce25

    Poznámka: Pokud sloupec v tabulce aplikace Excel obsahuje i text a čísla, ovladač ODBC pro aplikaci Excel nedokáže správně interpretovat data typu by měl být sloupec. Přesvědčte se, že jsou všechny buňky ve sloupci stejného datového typu. Následující tři chyby může dojít, pokud každé buňky ve sloupci není stejného typu, nebo jste mezi "text" různými typy a "Obecné":
    1. Microsoft OLE DB Provider for ODBC ovladače došlo k chybě "80040e21"
      Vlastnosti žádosti lze není podporován Tento ovladač ODBC.
    2. Microsoft OLE DB Provider for ODBC ovladače došlo k chybě '80004005'
      Dotaz není možné aktualizovat protože ji neobsahuje žádné prohledávatelné sloupce používat jako klíč optimističtější.
    3. Microsoft OLE DB Provider for ODBC ovladače došlo k chybě '80004005'
      Dotaz založený aktualizace se nezdařila. Aktualizovat řádek nebyl nalezen.
  • Vytvořte pojmenovanou oblast, myRange1, v tabulce:

    1. Zvýrazněte řádky a sloupce oblast kde dat. je umístěn.
    2. V nabídce Vložit přejděte na položku název a klepněte na tlačítko Definujte.
    3. Zadejte název myRange1 pro pojmenovanou oblast název.
    4. Klepněte na tlačítko OK.
    MyRange1 pojmenovanou oblast obsahuje následující údaje:

    Zmenšit tuto tabulkuRozšířit tuto tabulku
    Sloupec1Sloupec2hodnoty ve sloupci Sloupec3
    záznam o prostředkuto15
    BBTest20
    éstavební práce25


    Poznámka: ADO předpokládá, že první řádek v dotazu aplikace Excel obsahuje záhlaví sloupců. Pojmenovanou oblast, proto musí obsahovat záhlaví sloupců. To je odlišné chování z knihovny DAO.

    Poznámka: Záhlaví sloupců nemůže být číslo. Ovladač aplikace Excel nelze interpretovat a místo toho vrátí buňky odkazovat. Například sloupec Nadpis "f1" by být chybně interpretováno.
  • Vytvoření ODBC systému název zdroje dat (DSN) přejdete na příkaz soubor ADOTest.xls.
    1. V Ovládacích panelech otevřete ODBC Správce.
    2. Na kartě Systémové DSN klepněte na tlačítko Přidat.
    3. Vyberte ovladač Microsoft Excel (*.xls) a klepněte na tlačítko Dokončit. Pokud tuto možnost neexistuje, musíte nainstalovat ovladač Microsoft ODBC aplikace Excel z aplikace Excel nastavení.
    4. Zvolte název zdroje dat ADOExcel.
    5. Ujistěte se, že verze je nastaven na správnou verzi Aplikace Excel.
    6. Klepněte na tlačítko "Vybrat sešit...", vyhledejte ADOTest.xls soubor a klepněte na tlačítko OK.
    7. Klepněte "možnosti >>" tlačítko a zrušte pro čtení" Pouze"zaškrtávací políčko.
    8. Klepněte na tlačítko OK a potom na tlačítko OK.
  • Nastavit oprávnění u souboru ADOTest.xls.
Pokud vaše stránka ASP anonymním přístupem, je třeba Zkontrolujte, zda alespoň má anonymních účtů (IUSR_<machinename>) Přístup pro čtení i zápis (RW) v tabulce. Chcete-li odstranit informace z tabulky je nutné udělit oprávnění odpovídajícím způsobem.<b00></b00></machinename>

Pokud jsou ověření přístupu na vaše Active Server Page, potřebujete Zajistěte odpovídající všem uživatelům přístup k aplikaci oprávnění.

Poznámka: Pokud příslušná oprávnění na tabulky, obdržíte chybovou zprávu podobnou následující:

Microsoft OLE DB Provider pro ovladače ODBC chyba '80004005'

[Microsoft][Ovladač ODBC aplikace Excel] Databázový stroj Microsoft Jet databázový stroj nemůže otevřít soubor (neznámý). Je již otevřen výhradně jiným uživatelem nebo potřebujete oprávnění k zobrazení data.
  1. Vytvoření nové stránky ASP a vložte následující 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žit a název aplikace Active Server Page a zobrazení v prohlížeč. Zobrazí se následující:
          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: Aktualizace byla provedena na prvním řádku oblasti název (po záhlaví).

Odkazy

Další informace získáte klepnutím na následující číslo článku databáze Microsoft Knowledge Base:
190195Jak ExtractInformation Z listu aplikace Excel s DAO

Vlastnosti

ID článku: 195951 - Poslední aktualizace: 23. dubna 2011 - Revize: 7.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Active Server Pages 4.0
  • Microsoft Data Access Components 2.5
Klíčová slova: 
kbcode kbhowto kbmdacnosweep kbmt KB195951 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:195951

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