Bagaimana Query dan Update Excel Data menggunakan ADO dari ASP

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 195951 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menunjukkan bagaimana untuk permintaan dan update informasi dalam spreadsheet Excel menggunakan ActiveX Data objek (ADO) dari Active Server Pages (ASP) halaman. Artikel ini juga menjelaskan keterbatasan yang terkait dengan aplikasi jenis ini.

PENTING: Meskipun ASP/ADO aplikasi mendukung akses multi-user, Excel spreadsheet tidak. Oleh karena itu, metode ini query dan memperbarui informasi tidak mendukung multi-user akses bersamaan.

INFORMASI LEBIH LANJUT

Untuk mengakses data dalam spreadsheet Excel Anda untuk ini sampel, menggunakan pengandar ODBC Microsoft Excel. Membuat tabel untuk mengakses data dengan membuat kisaran bernama pada Excel spreadsheet.

Langkah-langkah untuk membuat contoh aplikasi

  • Membuat berkas Excel ADOtest.xls dengan data sebagai berikut dalam sheet1:

    Perkecil tabel iniPerbesar tabel ini
    column1column2column3
    RR ini15
    BBtes20
    eekarya25

    Catatan Jika kolom dalam Excel spreadsheet berisi teks dan nomor, pengandar Excel ODBC dengan benar tidak menafsirkan tipe data yang kolom harus. Pastikan bahwa semua sel dalam kolom yang jenis data yang sama. Tiga kesalahan berikut dapat terjadi jika setiap sel dalam kolom bukanlah yang sama jenis atau Anda memiliki jenis campuran antara "teks" dan "umum":
    1. Microsoft OLE penyedia DB untuk kesalahan driver ODBC '80040e21'
      Permintaan properti tidak akan didukung oleh Pengandar ODBC ini.
    2. Microsoft OLE penyedia DB untuk kesalahan driver ODBC '80004005'
      Query tidak updateable karena itu berisi kolom tidak dapat dicari untuk digunakan sebagai kunci penuh harapan.
    3. Microsoft OLE penyedia DB untuk kesalahan driver ODBC '80004005'
      Query berbasis update gagal. Baris untuk memperbarui tidak dapat ditemukan.
  • Membuat kisaran bernama, myRange1, dalam spreadsheet Anda:

    1. Menyoroti daerah row(s) dan column(s) di mana data Anda tinggal.
    2. Pada Insert menu, arahkan ke nama, lalu klik Menentukan.
    3. Masukkan nama myRange1 untuk kisaran bernama Nama.
    4. Klik OK.
    Kisaran bernama myRange1 berisi data sebagai berikut:

    Perkecil tabel iniPerbesar tabel ini
    column1column2column3
    RRini15
    BBtes20
    eekarya25


    Catatan ADO mengasumsikan bahwa baris pertama dalam Excel permintaan berisi judul kolom. Oleh karena itu, kisaran bernama harus menyertakan judul kolom. Ini adalah perilaku yang berbeda dari DAO.

    Catatan Judul kolom tidak dapat beberapa. Pengandar Excel tidak dapat menafsirkan mereka dan, sebaliknya, kembali sebuah sel referensi. Sebagai contoh, sebuah kolom judul "F1" akan disalahartikan.
  • Membuat ODBC sistem Data sumber nama (DSN) menunjuk ke berkas ADOTest.xls.
    1. Dari Panel kontrol, buka ODBC Administrator.
    2. Pada sistem DSN tab, klik Tambah.
    3. Pilih Microsoft Excel Driver (*.xls) dan klik selesai. Jika pilihan ini tidak ada, Anda perlu menginstal pengandar Microsoft ODBC untuk Excel dari Excel setup.
    4. Memilih ADOExcel untuk nama sumber Data.
    5. Pastikan versi diatur ke versi yang benar Excel.
    6. Klik "Pilih buku kerja...", browse ke ADOTest.xls file, dan klik OK.
    7. Klik "pilihan >>" tombol dan jelas "Baca Hanya"kotak centang.
    8. Klik OK dan kemudian klik OK sekali lagi.
  • Mengatur hak akses pada ADOTest.xls file.
Jika Anda Active Server Page diakses secara anonim, Anda perlu Pastikan bahwa Account anonim (IUSR_<machinename>) memiliki setidaknya Baca/tulis (RW) akses ke spreadsheet. Jika Anda ingin menghapus informasi dari lembar kerja, Anda perlu untuk memberikan izin yang sesuai.<b00></b00></machinename>

Jika Anda adalah otentikasi akses ke halaman Server Anda aktif, Anda perlu memastikan bahwa semua pengguna mengakses aplikasi Anda memiliki yang sesuai izin.

Catatan Jika Anda tidak menetapkan izin yang sesuai pada spreadsheet, Anda mendapatkan pesan kesalahan mirip dengan berikut ini:

Microsoft OLE penyedia DB ODBC driver error '80004005'

[Microsoft][ODBC Excel Driver] Microsoft Jet mesin database tidak dapat membuka file '(tidak diketahui)'. Itu sudah dibuka secara eksklusif oleh pengguna lain, atau Anda memerlukan izin untuk melihat data.
  1. Buat halaman ASP baru dan paste kode berikut:
          <!-- 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. Simpan dan nama Anda Active Server Page dan melihatnya di browser. Anda akan melihat berikut:
          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
    					
Catatan Pembaruan dilakukan pada baris pertama dari kisaran bernama (setelah judul).

REFERENSI

Untuk informasi tambahan, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
190195Bagaimana ExtractInformation dari Excel Sheet dengan DAO

Properti

ID Artikel: 195951 - Kajian Terakhir: 19 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Active Server Pages 4.0
  • Microsoft Data Access Components 2.5
Kata kunci: 
kbcode kbhowto kbmdacnosweep kbmt KB195951 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:195951

Berikan Masukan

 

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