Bagaimana menggunakan ADO.NET untuk mengambil dan memodifikasi catatan di buku kerja Excel dengan Visual Basic.NET

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

Pada Halaman ini

RINGKASAN

Artikel ini membahas bagaimana Anda dapat menggunakan ADO.NET untuk mengambil data dari buku kerja Microsoft Excel, mengubah data di buku kerja yang ada, atau Tambahkan data ke buku kerja baru. Untuk mengakses buku kerja Excel dengan ADO.NET, Anda dapat menggunakan penyedia Jet OLE DB; Artikel ini menyediakan informasi yang Anda butuhkan sehingga bahwa Anda dapat menggunakan penyedia Jet OLE DB ketika Excel adalah target sumber data.

Cara menggunakan penyedia DB OLE Jet dengan Microsoft Excel Workbook

Microsoft Jet database engine dapat mengakses data lain format file database, seperti buku kerja Excel, melalui diinstal Indexed Berurutan akses metode (ISAM) driver. Untuk membuka eksternal format yang didukung oleh Microsoft Jet 4.0 DB OLE selular, tentukan tipe database di panjang properti untuk sambungan. Jet OLE DB penyedia mendukung jenis database untuk buku kerja Microsoft Excel berikut:
Excel 3.0
Excel 4.0
Excel 5.0
Excel 8.0
CATATAN: Menggunakan tipe database sumber Excel 5.0 untuk Microsoft Excel 5.0 dan 7.0 (95) buku kerja dan menggunakan Excel 8.0 sumber tipe database untuk Microsoft Excel 8.0 (97), 9.0 (2000) dan 10,0 buku kerja (2002). Contoh-contoh ini artikel menggunakan buku kerja Excel di Excel 2002 dan Excel 2000 format.

Rangkaian sambungan

Untuk mengakses buku kerja Excel dengan menggunakan Jet OLE penyedia DB, gunakan rangkaian sambungan yang memiliki sintaks berikut:
Provider=Microsoft.jet.OLEDB.4.0;data Source=C:\Book1.xls;Diperpanjang properti = "Excel 8.0;HDR = YES; "
Dalam rangkaian sambungan, menentukan penuh lintasan dan nama berkas untuk workbook dalam Sumber data parameter. The Panjang properti parameter mungkin berisi dua sifat: properti untuk Islam TERPADU Versi dan properti untuk menunjukkan apakah atau tidak table(s) termasuk header.

Dengan buku kerja Excel, baris pertama dalam berbagai adalah header baris (atau nama field) secara default. Jika kisaran pertama tidak berisi header, Anda dapat menentukan HDR = tidak di properti diperpanjang di rangkaian sambungan. Jika Anda menentukan HDR = NO dalam rangkaian sambungan, penyedia Jet OLE DB secara otomatis nama kolom untuk Anda (F1 mewakili bidang pertama, F2 mewakili kedua bidang, dan seterusnya).

Tipe data

Tidak seperti database tradisional, ada tidak ada cara langsung untuk menentukan tipe data untuk kolom dalam tabel Excel. Sebaliknya, penyedia OLE DB scan delapan baris dalam kolom untuk guess data ketik untuk lapangan. Anda dapat mengubah jumlah baris untuk memindai dengan menentukan nilai antara satu (1) dan enam belas (16) untuk MAXSCANROWS pengaturan dalam sifat-sifat diperpanjang rangkaian sambungan.

Konvensi penamaan meja

Ada beberapa cara Anda dapat referensi meja (atau kisaran) di Buku kerja Excel:
  • Menggunakan nama lembar yang diikuti dengan tanda dolar (misalnya, [Sheet1$] atau [saya lembar kerja$]). Tabel buku kerja yang direkomendasikan ini cara mencakup seluruh digunakan berbagai lembar kerja.
    Pilih * dari [Sheet1$]
  • Menggunakan berbagai dengan nama yang ditetapkan (misalnya, [MyNamedRange]):
    Pilih * dari [MyNamedRange]
  • Menggunakan berbagai dengan alamat tertentu (misalnya, [Sheet1$ A1: B10]):
    Pilih * dari [Sheet1$ A1: B10]
CATATAN: Tanda dolar setelah nama lembar kerja merupakan indikasi bahwa ada meja. Jika Anda membuat sebuah tabel baru, seperti yang dibahas di Buat buku kerja baru dan tabelbagian dari artikel ini, jangan gunakan tanda dolar.

Cara menggunakan Excel Workbook sebagai ADO.Sumber NET Data

Mengambil catatan

Anda dapat mengambil catatan dari database dengan menggunakan salah satu dari dua pendekatan dalam ADO.NET: dengan Dataset atau dengan Hexadecimal.

A Dataset adalah cache data yang Diperoleh dari sumber data. Data dalam The Dataset biasanya adalah versi menurun dari apa yang ada di database. Namun, Anda dapat bekerja dengan cara yang sama bahwa Anda bekerja dengan sebenarnya data dan tetap terputus dari database yang sebenarnya. Selain pengambilan data, Anda juga dapat menggunakan Dataset untuk melakukan operasi pembaruan pada yang mendasari database.

Atau, Anda dapat menggunakan Hexadecimal untuk mengambil hanya-baca, ke depan hanya aliran data dari database. Ketika Anda menggunakan Hexadecimal meningkatkan kinerja program, dan sistem overhead adalah berkurang karena hanya satu baris pada satu waktu pernah di memori. Jika Anda memiliki jumlah besar data untuk mengambil dan Anda tidak bermaksud untuk membuat perubahan yang mendasari database, Hexadecimal pilihan yang lebih baik daripada Dataset.

Menambahkan dan memperbarui catatan

Dengan ADO.NET, Anda dapat menyisipkan dan mengupdate Record di workbook dalam salah satu dari tiga cara:
  • Langsung menjalankan perintah untuk memasukkan atau memperbarui catatan satu di waktu. Untuk melakukan ini, Anda dapat membuat OLEDbCommand objek pada sambungan dan set yang CommandText properti untuk perintah yang berlaku untuk memasukkan catatan

    INSERT INTO [Sheet1$] (F1, F2) values ('111', 'ABC')
    atau perintah untuk mengupdate catatan

    UPDATE [Sheet1$] SET F2 = 'XYZ' WHERE F1 = '111'
    dan kemudian memanggil ExecuteNonQuery metode.
  • Membuat perubahan DataSet bahwa Anda telah mengisi dengan tabel/permintaan dari buku kerja Excel dan kemudian memanggil Pemutakhiran metode DataAdapter untuk menyelesaikan perubahan dari DataSet kembali ke buku kerja. Namun, untuk menggunakan Pemutakhiran metode untuk perubahan resolusi Anda harus mengatur parameterized perintah untuk DataAdapter InsertCommand
    INSERT INTO [Sheet1$] (F1, F2) values (?, ?)
    dan UpdateCommand:
    UPDATE [Sheet1$] SET F2 = ? WHERE F1 = ?
    Masukkan parameterized dan UPDATE perintah diperlukan karena OleDbDataAdapter tidak memberikan informasi kunci/indeks untuk buku kerja Excel; tanpa kunci/indeks bidang, CommandBuilder tidak dapat secara otomatis menghasilkan perintah untuk Anda.
  • Ekspor data dari sumber data lain ke buku kerja Excel yang disediakan bahwa sumber data lain dapat digunakan dengan Jet OLE DB penyedia. Data sumber-sumber yang dapat Anda gunakan dengan Jet OLE DB penyedia cara ini termasuk File teks, Microsoft Access database, dan, tentu saja, buku kerja Excel lainnya. Dengan satu masukkan ke perintah, Anda dapat mengekspor data dari tabel/permintaan lain ke buku kerja Anda:
    INSERT INTO [Sheet1$] IN 'C:\Book1.xls' 'Excel 8.0;' SELECT * FROM MyTable"
    Masukkan ke mensyaratkan bahwa target meja (atau lembar kerja) sudah ada; data ditambahkan ke tabel sasaran.

    Anda juga dapat menggunakan PILIH.INTO untuk mengekspor meja/permintaan ke buku kerja:
    SELECT * INTO [Excel 8.0;Database=C:\Book1.xls].[Sheet1] FROM [MyTable]
    Ketika Anda menggunakan pilih.INTO, jika target meja atau buku kerja tidak ada, itu akan membuat untuk Anda. Jika tabel sudah ada sebelum PILIH.KE perintah yang dikeluarkan, Anda akan menerima pesan kesalahan.
The Contoh kodebagian nanti dalam artikel ini menggambarkan masing-masing pendekatan ini untuk menambahkan dan memperbarui catatan di buku kerja.

Menghapus catatan

Meskipun Jet OLE DB penyedia memungkinkan Anda untuk memasukkan dan update Catatan di buku kerja Excel, tidak memungkinkan Hapus operasi. Jika Anda mencoba untuk melakukan operasi menghapus satu atau lebih Records, Anda menerima berikut pesan galat:
Menghapus data pada tabel terkait bukanlah didukung oleh ISAM ini.
Pembatasan ini inheren dalam perawatan dari buku kerja Excel sebagai database.

Buat buku kerja dan tabel

Untuk membuat sebuah tabel di buku kerja Excel, jalankan CREATE TABLE perintah:
CREATE TABLE Sheet1 (F1 char(255), F2 char(255))
Ketika Anda menjalankan perintah ini, lembar kerja yang baru dibuat dengan nama meja Anda menentukan di perintah. Jika buku kerja untuk sambungan tidak ada, itu juga akan dibuat.

The Contoh kode bagian menggambarkan bagaimana Anda dapat menggunakan perintah CREATE TABLE untuk membuat buku kerja baru dan tabel.

Langkah demi langkah

Contoh kode

  1. Mulai Visual Basic baru.NET Aplikasi Windows proyek.

    Form1 dibuat oleh default.
  2. Tambahkan enam RadioButton kontrol dan tombol kontrol untuk Form1.
  3. Pilih semua kontrol RadioButton dan mengatur Ukuran properti untuk 200,24.
  4. Pada Lihat menu, klik Kode.
  5. Tambahkan baris berikut ke awal kode modul:
    Imports System.Data.OleDb
  6. Masukkan kode berikut ke Bentuk kelas:
    Private m_sConn1 As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=C:\ExcelData1.xls;" & _
                   "Extended Properties=""Excel 8.0;HDR=YES"""
    
    Private m_sConn2 As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=C:\ExcelData2.xls;" & _
                   "Extended Properties=""Excel 8.0;HDR=YES"""
    
    Private m_sNorthwind = _
          "C:\Program Files\Microsoft Office\Office10\Samples\Northwind.mdb"
    
    Private m_sAction As String
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
          RadioButton1.Text = "Create_Workbook"
          RadioButton2.Text = "Retrieve_Records"
          RadioButton3.Text = "Add_Records"
          RadioButton4.Text = "Update_Records"
          RadioButton5.Text = "Update_Individual_Cells"
          RadioButton6.Text = "Use_External_Source"
          Button1.Text = "Go!"
    End Sub
    
    Private Sub RadioButtons_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
          Handles RadioButton1.Click, RadioButton2.Click, RadioButton3.Click, _
          RadioButton4.Click, RadioButton5.Click, RadioButton6.Click
          m_sAction = sender.Text'Store the text for the selected radio button
    End Sub
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
          Try
             ' Call the associated routine to add/update/modify the workbook.
             Select Case m_sAction
                Case "Create_Workbook" : Create_Workbook()
                Case "Retrieve_Records" : Retrieve_Records()
                Case "Add_Records" : Add_Records()
                Case "Update_Records" : Update_Records()
                Case "Update_Individual_Cells" : Update_Individual_Cells()
                Case "Use_External_Source" : Use_External_Source()
             End Select
    
          Catch ex As OleDbException
             Dim er As OleDbError
             For Each er In ex.Errors
                MsgBox(er.Message)
             Next
          Catch ex2 As System.InvalidOperationException
             MsgBox(ex2.Message)
          End Try
    
    
    End Sub
    
    Public Sub Create_Workbook()
    
          ' If the workbooks already exist, prompt to delete.
          Dim answer As MsgBoxResult
          If Dir("C:\ExcelData1.xls") <> "" Or Dir("C:\ExcelData2.xls") <> "" Then
              answer = MsgBox("Delete existing workbooks (C:\ExcelData1.xls and " & _
                       "C:\ExcelData2.xls)?", MsgBoxStyle.YesNo)
              If answer = MsgBoxResult.Yes Then
                  If Dir("C:\ExcelData1.xls") <> "" Then Kill("C:\ExcelData1.xls")
                  If Dir("C:\ExcelData2.xls") <> "" Then Kill("C:\ExcelData2.xls")
              Else
                  Exit Sub
              End If
          End If
    
    '==========================================================================
          ' Create a workbook with a table named EmployeeData. The table has 3 
          ' fields: ID (char 255), Name (char 255) and Birthdate (date).  
    '==========================================================================
          Dim conn As New OleDbConnection()
          conn.ConnectionString = m_sConn1
          conn.Open()
          Dim cmd1 As New OleDbCommand()
          cmd1.Connection = conn
          cmd1.CommandText = "CREATE TABLE EmployeeData (Id char(255), Name char(255), BirthDate date)"
          cmd1.ExecuteNonQuery()
          cmd1.CommandText = "INSERT INTO EmployeeData (Id, Name, BirthDate) values ('AAA', 'Andrew', '12/4/1955')"
          cmd1.ExecuteNonQuery()
          conn.Close()
    
    '==========================================================================
          ' Create a workbook with a table named InventoryData. The table has 3 
          ' fields: Product (char 255), Qty (float) and Price (currency). 
    '==========================================================================
    
          conn.ConnectionString = m_sConn2
          conn.Open()
          Dim cmd2 As New OleDbCommand()
          cmd2.Connection = conn
          cmd2.CommandText = "CREATE TABLE InventoryData (Product char(255), Qty float, Price currency)"
          cmd2.ExecuteNonQuery()
          cmd2.CommandText = "INSERT INTO InventoryData (Product, Qty, Price) values ('Cola', 200, 1.35)"
          cmd2.ExecuteNonQuery()
          cmd2.CommandText = "INSERT INTO InventoryData (Product, Qty, Price) values ('Chips', 550, 0.89)"
          cmd2.ExecuteNonQuery()
          conn.Close()
    
          ' NOTE: You can ALTER and DROP tables in a similar fashion.
    
    End Sub
    
    Public Sub Retrieve_Records()
    
          '==========================================================
          'Use a DataReader to read data from the EmployeeData table.
          '==========================================================
    
          Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
          conn1.Open()
          Dim cmd1 As New System.Data.OleDb.OleDbCommand("Select * From [EmployeeData$]", conn1)
          Dim rdr As OleDbDataReader = cmd1.ExecuteReader
    
          Debug.WriteLine(vbCrLf & "EmployeeData:" & vbCrLf & "=============")
          Do While rdr.Read()
             Debug.WriteLine(System.String.Format("{0,-10}{1, -15}{2}", _
                rdr.GetString(0), rdr.GetString(1), _
                rdr.GetDateTime(2).ToString("d")))
          Loop
          rdr.Close()
          conn1.Close()
    
          '========================================================
          'Use a DataSet to read data from the InventoryData table.
          '========================================================
          Dim conn2 As New OleDbConnection(m_sConn2)
          Dim da As New OleDbDataAdapter("Select * From [InventoryData$]", conn2)
          Dim ds As DataSet = New DataSet()
          da.Fill(ds)
          Debug.WriteLine(vbCrLf & "InventoryData:" & vbCrLf & "==============")
          Dim dr As DataRow
          For Each dr In ds.Tables(0).Rows'Show results in output window
             Debug.WriteLine(System.String.Format("{0,-15}{1, -6}{2}", _
                dr("Product"), dr("Qty"), dr("Price")))
          Next
          conn2.Close()
    
    End Sub
    
    Public Sub Add_Records()
    
    '==========================================================================
          ' Run an INSERT INTO command to add new records to the workbook. 
    '==========================================================================
          Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
          conn1.Open()
          Dim cmd As New System.Data.OleDb.OleDbCommand()
          cmd.Connection = conn1
          cmd.CommandText = "INSERT INTO [EmployeeData$] (ID, Name, BirthDate) values ('CCC', 'Charlie', '10/14/48')"
          cmd.ExecuteNonQuery()
          cmd.CommandText = "INSERT INTO [EmployeeData$] (ID, Name, BirthDate) values ('DDD', 'Deloris', '7/19/98')"
          cmd.ExecuteNonQuery()
          conn1.Close()
    
          '====================================================================
          'Use the InsertCommand object to add new records to the InventoryData
          'table.
          '====================================================================
          Dim conn2 As New OleDbConnection(m_sConn2)
          Dim da As New OleDbDataAdapter("Select * From [InventoryData$]", conn2)
          Dim ds As DataSet = New DataSet()
          da.Fill(ds, "MyExcelTable")
    
          ' Generate the InsertCommand and add the parameters for the command.
          da.InsertCommand = New OleDbCommand( _
             "INSERT INTO [InventoryData$] (Product, Qty, Price) VALUES (?, ?, ?)", conn2)
          da.InsertCommand.Parameters.Add("@Product", OleDbType.VarChar, 255, "Product")
          da.InsertCommand.Parameters.Add("@Qty", OleDbType.Double).SourceColumn = "Qty"
          da.InsertCommand.Parameters.Add("@Price", OleDbType.Currency).SourceColumn = "Price"
    
          ' Add two new records to the dataset.
          Dim dr As DataRow
          dr = ds.Tables(0).NewRow
          dr("Product") = "Bread" : dr("Qty") = 390 : dr("Price") = 1.89 : ds.Tables(0).Rows.Add(dr)
          dr = ds.Tables(0).NewRow
          dr("Product") = "Milk" : dr("Qty") = 99 : dr("Price") = 2.59 : ds.Tables(0).Rows.Add(dr)
    
          ' Apply the dataset changes to the actual data source (the workbook).
          da.Update(ds, "MyExcelTable")
          conn2.Close()
    
    End Sub
    
    Public Sub Update_Records()
    
    '==========================================================================
          ' Run an UPDATE command to change a record in the EmployeeData
          ' table.
    '==========================================================================
          Dim conn1 As New System.Data.OleDb.OleDbConnection(m_sConn1)
          conn1.Open()
          Dim cmd As New System.Data.OleDb.OleDbCommand()
          cmd.Connection = conn1
          cmd.CommandText = "UPDATE [EmployeeData$] " & _
                        "SET NAME = 'Aaron', BirthDate = '5/4/1975' WHERE ID = 'AAA'"
          cmd.ExecuteNonQuery()
          conn1.Close()
    
          '====================================================================
          ' Use the UpdateCommand object to modify records in the InventoryData
          ' table.
          '====================================================================
          Dim conn2 As New OleDbConnection(m_sConn2)
          Dim da As New OleDbDataAdapter("Select * From [InventoryData$]", conn2)
          Dim ds As DataSet = New DataSet()
          da.Fill(ds, "MyInventoryTable")
    
          ' Generate the UpdateCommand and add the parameters for the command.
          da.UpdateCommand = New OleDbCommand( _
             "UPDATE [InventoryData$] SET Qty = ?, Price=? WHERE Product = ?", conn2)
          da.UpdateCommand.Parameters.Add("@Qty", OleDbType.Numeric).SourceColumn = "Qty"
          da.UpdateCommand.Parameters.Add("@Price", OleDbType.Currency).SourceColumn = "Price"
          da.UpdateCommand.Parameters.Add("@Product", OleDbType.VarChar, 255, "Product")
    
          ' Update the first two records.
          ds.Tables(0).Rows(0)("Qty") = 1000
          ds.Tables(0).Rows(0)("Price") = 10.1
          ds.Tables(0).Rows(1)("Qty") = 2000
          ds.Tables(0).Rows(1)("Price") = 20.2
    
          ' Apply the dataset changes to the actual data source (the workbook).
          da.Update(ds, "MyInventoryTable")
          conn2.Close()
    
    End Sub
    
    Public Sub Update_Individual_Cells()
    
    '==========================================================================
          ' Update individual cells on the EmployeeData worksheet; 
          ' specifically, cells F3, G3, and I4 are modified.
    '==========================================================================
    
          ' NOTE: The connection string indicates that the table does *NOT* 
          ' have a header row.
          Dim conn As New System.Data.OleDb.OleDbConnection(m_sConn1.Replace("HDR=YES", "HDR=NO"))
          conn.Open()
          Dim cmd As New System.Data.OleDb.OleDbCommand()
          cmd.Connection = conn
          cmd.CommandText = "UPDATE [EmployeeData$F3:G3] SET F1 = 'Cell F3', F2 = 'Cell G3'"
          cmd.ExecuteNonQuery()
          cmd.CommandText = "UPDATE [EmployeeData$I4:I4] SET F1 = 'Cell I4'"
          cmd.ExecuteNonQuery()
          conn.Close()
    
    End Sub
    
    Public Sub Use_External_Source()
    
          ' Open a connection to the sample Northwind Access database.
          Dim conn As New System.Data.OleDb.OleDbConnection( _
                "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & m_sNorthwind & ";")
          conn.Open()
          Dim cmd As New System.Data.OleDb.OleDbCommand()
          cmd.Connection = conn
    
    '=======================================================================
          ' Run an INSERT..INTO command on the Northwind database to append 
          ' the records from a table/query to an existing table in the Excel 
          ' workbook.
    '=======================================================================
          cmd.CommandText = "INSERT INTO [EmployeeData$] IN 'C:\ExcelData1.xls' 'Excel 8.0;'" & _
             "SELECT EmployeeID AS ID, FirstName AS Name, BirthDate FROM Employees"
          cmd.ExecuteNonQuery()
    
    '==========================================================================
          ' Run a SELECT..INTO command on the Northwind database to insert 
          ' all the records from a table/query into a new sheet in the Excel 
          ' workbook.
    '==========================================================================
          cmd.CommandText = "SELECT * INTO [Excel 8.0;Database=C:\ExcelData2.xls].[ProductSales]" & _
                          "FROM [Product Sales for 1997]"
          cmd.ExecuteNonQuery()
    
          conn.Close()
    
    End Sub
  7. Mengubah jalan untuk akses sampel database, Northwind, untuk anggota m_sNorthwind dalam kode, jika diperlukan.

Mencobanya

  1. Pada Lihat menu, titik Windows lainnya, lalu klik Keluaran untuk menampilkan Keluaran jendela.
  2. Tekan F5 untuk membangun dan menjalankan program.
  3. Klik Create_Workbook kemudian klik Pergi. The Create_Workbook prosedur berjalan CREATE TABLE perintah untuk membuat dua buku kerja baru: C:\ExcelData1.xls dan C:\ExcelData2.xls. ExcelData1.xls berisi satu lembar (tabel) bernama EmployeeData dan ExcelData2.xls berisi satu lembar (tabel) bernama InventoryData. Tabel dipenuhi dengan catatan.

    CATATAN: Pada setiap langkah yang tersisa dalam tes ini, buka buku kerja Excel untuk memeriksa hasilnya. Atau, klik Retrieve_Records untuk melihat isi table(s) di Keluaran Jendela Visual Studio.NET.
  4. Klik Retrieve_Records kemudian klik Pergi. The Retrieve_Records prosedur ekstrak catatan dari tabel dan menampilkan mereka dalam Keluaran jendela, seperti ini:
    EmployeeData:
    =============
    AAA       Andrew         12/4/1955
    
    InventoryData:
    ==============
    Cola           200   1.35
    Chips          550   0.89
  5. Klik Add_Records kemudian klik Pergi. The Add_Records rutin menambahkan dua catatan untuk setiap tabel:
    EmployeeData:
    =============
    AAA       Andrew         12/4/1955
    CCC       Charlie        10/14/1948
    DDD       Deloris        7/19/1998
    
    InventoryData:
    ==============
    Cola           200   1.35
    Chips          550   0.89
    Bread          390   1.89
    Milk           99    2.59
  6. Klik Update_Records kemudian klik Pergi. The Update_Records rutin update dua catatan di setiap buku kerja:
    EmployeeData:
    =============
    AAA       Aaron          5/4/1975
    CCC       Charlie        10/14/1948
    DDD       Deloris        7/19/1998
    
    InventoryData:
    ==============
    Cola           1000  10.1
    Chips          2000  20.2
    Bread          390   1.89
    Milk           99    2.59
  7. Klik Update_Individual_Cells kemudian klik Pergi. The Update_Individual_Cells rutin memodifikasi spesifik sel pada lembar kerja EmployeeData di ExcelData1.xls; secara khusus, sel F3, G3 dan I4 diperbarui.
  8. Klik Use_External_Source kemudian klik Pergi. Ketika Anda menggunakan INSERT.KE perintah, Use_External_Source rutin menambahkan catatan dari tabel Northwind 'Karyawan' lembar kerja EmployeeData di ExcelData1.xls. Dan, Use_External_Source menggunakan sebuah pilih.MENJADI perintah untuk membuat sebuah tabel baru (atau lembar) di ExcelData2.xls yang berisi semua data dari tabel Northwind 'Produk'.

    CATATAN: Jika Anda klik Use_External_Source lebih dari satu kali, daftar karyawan akan ditambahkan beberapa kali karena kunci utama tidak diakui atau diberlakukan.

Sel format

Jika Anda menggunakan ADO.NET untuk menambah atau memperbarui catatan dalam yang ada buku kerja, Anda dapat menerapkan format ke buku kerja yang akan digunakan dengan sel Catatan baru atau diperbarui. Ketika Anda memperbarui catatan sudah ada (atau baris) di buku kerja, sel format dipertahankan. Dan ketika Anda memasukkan catatan baru (atau baris) di buku kerja, catatan baru mewarisi format dari baris di atas itu.

Prosedur berikut menunjukkan bagaimana Anda dapat menggunakan format di buku kerja dengan kode contoh:
  1. Tekan F5 untuk membangun dan menjalankan sampel.
  2. Pada Form1, klik Create_Workbook kemudian klik Pergi.
  3. Mulai Microsoft Excel dan membuka C:\ExcelData1.xls.
  4. Menerapkan gaya font tebal ke sel A2.
  5. Menerapkan miring, garis bawah gaya ke sel B2 dan menyelaraskan pusat.
  6. Menerapkan format tanggal panjang ke sel C2.
  7. Simpan dan tutup C:\ExcelData1.xls.
  8. Pada Form1, klik Add_Records kemudian klik Pergi.
  9. Buka C:\ExcelData1.xls di Excel dan menyadari bahwa dua baru baris telah mewarisi format dari baris pertama.

Keterbatasan

Berikut ini adalah beberapa keterbatasan Jet OLE penyedia DB pada menganggap Excel data sumber:
  • Anda tidak dapat menyisipkan rumus dalam sel menggunakan ADO.NET.
  • Jet OLE penyedia DB mampu memberikan kunci/indeks informasi untuk tabel di buku kerja Excel. Untuk alasan ini, Anda tidak dapat menggunakan CommandBuilder untuk secara otomatis menghasilkan pembaruan dan insersi Records di buku kerja Excel.

REFERENSI

Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel pada Basis Pengetahuan Microsoft:
316756PRB: Kesalahan terjadi ketika Anda menggunakan ADO.NET OLEDbDataAdapter untuk memodifikasi Excel Workbook
257819 Bagaimana menggunakan ADO dengan Data Excel dari Visual Basic atau VBA
306022 Bagaimana untuk mentransfer Data ke buku kerja Excel dengan menggunakan Visual Basic.NET
306023 Bagaimana untuk mentransfer Data ke Excel Buku kerja menggunakan Visual C#.NET
311731 Bagaimana caranya Permintaan dan Excel tampilan Data dengan menggunakan ASP.NET, ADO.NET dan Visual Basic .NET
306572 Bagaimana caranya Permintaan dan Excel tampilan Data dengan menggunakan ASP.NET, ADO.NET, dan Visual C# .NET
278973 CONTOH: ExcelADO menunjukkan bagaimana menggunakan ADO untuk membaca dan menulis Data dalam Excel Workbook

Properti

ID Artikel: 316934 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Kata kunci: 
kbhowtomaster kbmt KB316934 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:316934

Berikan Masukan

 

Kontaktieren Sie uns, um weitere Hilfe zu erhalten

Kontaktieren Sie uns, um weitere Hilfe zu erhalten
Wenden Sie sich an den Answer Desk, um professionelle Hilfe zu erhalten.