W tym artykule przedstawiono sposób tworzenia kwerend i aktualizacji
informacje zawarte w arkuszu kalkulacyjnym programu Excel przy użyciu obiektów danych ActiveX (ADO) z
Strony Active Server Pages (ASP). Opisano również ograniczeń,
nie są skojarzone z tym typem aplikacji.
Ważne: Jeśli
Aplikacje ASP i ADO obsługi wielu użytkowników, arkusz kalkulacyjny programu Excel nie obsługuje.
W związku z tym nie obsługuje tej metody tworzenia kwerend i aktualizowanie informacji
równoczesny dostęp wielu użytkowników.
Dostęp do danych w arkuszu kalkulacyjnym programu Excel to
próbki należy użyć sterownik Microsoft ODBC dla programu Excel. Tworzenie tabeli dostępu do
dane, tworząc nazwany obszar komórek w arkuszu kalkulacyjnym programu Excel.
Kroki, aby utworzyć aplikację przykładową
- Utwórz plik programu Excel ADOtest.xls z następujących danych:
w arkuszu Arkusz1:
Zwiń tę tabelęRozwiń tę tabelę
| Kolumna1 | Kolumna2 | Kolumna3 |
|---|
| rekord zasobu | to | 15 |
| bb | Test | 20 |
| EE | Program Works | 25 |
Uwaga Jeśli kolumny w arkuszu kalkulacyjnym programu Excel zawiera zarówno tekst i
numery, sterownik ODBC programu Excel nie może poprawnie zinterpretować typu danych
Kolumna powinna być. Upewnij się, że wszystkie komórki w kolumnie są
Ten sam typ danych. Trzy następujące błędy może wystąpić w przypadku każdej komórki w kolumnie
nie jest tego samego typu, lub mieć typy mieszane między "tekst" i
"Ogólne":- Dostawca Microsoft OLE DB dla sterowników ODBC
"80040e21"
Właściwości żądania mogą nie być obsługiwane przez
Ten sterownik ODBC.
- Dostawca Microsoft OLE DB dla sterowników ODBC
'80004005'
Kwerenda nie będzie możliwa ponieważ go
zawiera przeszukiwalnych kolumn służy jako klucz hopeful.
- Dostawca Microsoft OLE DB dla sterowników ODBC
'80004005'
Nie można zaktualizować kwerendy oparte. Wiersza do aktualizacji
nie można odnaleźć.
- Utworzyć zakres o nazwie myRange1, arkusz kalkulacyjny:
- Podświetl wiersze i kolumny obszar gdzie danych
znajduje się.
- W menu Wstaw wskaż polecenie Nazwa, a następnie kliknij przycisk
Zdefiniuj.
- Wprowadź zakres o nazwie myRange1 nazwy
Nazwa.
- Kliknij przycisk OK.
Zakres o nazwie myRange1 zawiera następujące dane:
Zwiń tę tabelęRozwiń tę tabelę
| Kolumna1 | Kolumna2 | Kolumna3 |
|---|
| rekord zasobu | to | 15 |
| bb | Test | 20 |
| EE | Program Works | 25 |
Uwaga Obiekty ADO zakłada, że pierwszy wiersz w kwerendzie programu Excel zawiera
nagłówki kolumn. Dlatego też zakres o nazwie musi zawierać nagłówki kolumn.
Jest to zachowanie różnych obiektów DAO.
Uwaga Nagłówki kolumn nie może być liczbą. Nie można sterownika programu Excel
zinterpretowane i zamiast tego odwołania zwraca wartość komórki. Na przykład w kolumnie
Nagłówek "f1" może być błędnie zinterpretowana. - Tworzenie ODBC systemu źródła danych nazwie (DSN) wskazując
plik ADOTest.xls.
- W Panelu sterowania otwórz ODBC
Administrator.
- Na karcie systemowe DSN kliknij przycisk Dodaj.
- Wybierz sterownik programu Microsoft Excel (*.xls), a następnie kliknij przycisk Zakończ.
Jeśli ta opcja nie istnieje, należy zainstalować sterownik ODBC firmy Microsoft
dla programu Excel z programu Excel.
- Wybierz ADOExcel dla nazwy źródła danych.
- Upewnij się, że wersja jest ustawiony na odpowiednią wersję
Program Excel.
- Kliknij przycisk "Wybierz skoroszyt...", przejdź do ADOTest.xls
plik, a następnie kliknij przycisk OK.
- Kliknij przycisk "Opcje >>" przycisk i wyczyść odczytu"
Tylko"pole wyboru.
- Kliknij przycisk OK, a następnie kliknij przycisk OK.
- Ustaw uprawnienia do pliku ADOTest.xls.
Active Server Page jest uzyskiwać dostęp anonimowo, należy
Upewnij się, że konto anonimowe (IUSR_<machinename>) ma co najmniej
Dostęp do odczytu i zapisu (RW) do arkusza kalkulacyjnego. Jeśli chcesz usunąć informacje
z arkusza kalkulacyjnego należy udzielić uprawnień odpowiednio.<b00></b00></machinename>
Jeśli są uwierzytelniani dostęp do strony Active Server, trzeba
zapewnić odpowiednie wszystkich użytkowników uzyskujących dostęp do aplikacji
uprawnienia.
Uwaga Jeśli odpowiednie uprawnienia nie jest ustawiona na
Arkusz kalkulacyjny, zostanie wyświetlony komunikat o błędzie podobny do następującego:
Microsoft OLE DB Provider for ODBC Drivers błąd '80004005'
[Microsoft][Sterownik ODBC programu Excel] Microsoft Jet
Aparat bazy danych nie można otworzyć pliku (nieznany). Jest już otwarty.
wyłącznie przez innego użytkownika lub jeśli potrzebne są uprawnienia do wyświetlania danych.
- Tworzenie nowej strony ASP i wklej poniższy kod:
<!-- 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 -->
- Zapisz nadaj nazwę Active Server Page i wyświetlić go w
przeglądarki. Zostanie wyświetlony poniżej:
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
Uwaga Aktualizacja została wykonana na pierwszy wiersz zakresu o nazwie
(po pozycjach).
Aby uzyskać dodatkowe informacje kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
190195
(http://support.microsoft.com/kb/190195/
)
Jak ExtractInformation Z arkusza programu Excel z obiektów DAO
Numer ID artykułu: 195951 - Ostatnia weryfikacja: 21 czerwca 2011 - Weryfikacja: 2.0
Informacje zawarte w tym artykule dotyczą:
- Microsoft Active Server Pages 4.0
- Microsoft Data Access Components 2.5
| kbcode kbhowto kbmdacnosweep kbmt KB195951 KbMtpl |
Przetłumaczone maszynowoWAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:
195951
(http://support.microsoft.com/kb/195951/en-us/
)