Anda sedang offline saat ini, menunggu internet Anda untuk menyambung kembali

Bagaimana Query dan Update Excel Data menggunakan ADO dari ASP

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
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:

    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:

    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

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 195951 - Tinjauan Terakhir: 09/19/2011 15:07:00 - Revisi: 2.0

Microsoft Active Server Pages 4.0, Microsoft Data Access Components 2.5

  • kbcode kbhowto kbmdacnosweep kbmt KB195951 KbMtid
Tanggapan
/html>oft.com/c.gif?">