Almak için ADO.NET ve Visual Basic .NET ile Excel çalışma kitabındaki kayıtları değiştirmek nasıl

Makale çevirileri Makale çevirileri
Makale numarası: 316934 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, ADO.NET almak için nasıl kullanabileceğiniz açıklanır bir Microsoft Excel çalışma kitabındaki verileri varolan bir çalışma kitabındaki verileri değiştirmek veya Yeni bir çalışma kitabına veri ekleyin. ADO.NET ile Excel çalışma kitaplarına erişmek için kullanabilirsiniz Jet OLE DB sağlayıcı; Bu makalede, bunu gerek duyduğunuz bilgileri sağlar. Excel hedef veri kaynağı olduğunda, Jet OLE DB sağlayıcı kullanabileceğiniz.

Microsoft Excel çalışma kitaplarında Jet OLE DB sağlayıcısı kullanma

Microsoft Jet veritabanı altyapısı diğer verilere erişebilir yüklenebilir sıralı yoluyla Excel çalışma kitapları gibi veritabanı dosya biçimleri Sıralı erişim yöntemi (ISAM) sürücüleri. Tarafından desteklenen dış biçimlerden açmak için Microsoft Jet 4.0 OLE DB sağlayıcısı, veritabanı türü belirtin Genişletilmiş Özellikler bağlantı için. Jet OLE DB sağlayıcı destekler Microsoft Excel çalışma kitapları için aşağıdaki veritabanı türleri:
Excel 3.0
Excel 4.0
Excel 5.0
Excel 8.0
Not: Microsoft Excel 5.0 Excel 5.0 kaynak veritabanı türünü kullanın ve 7.0 (95) çalışma kitaplarını Excel 8.0 kullanmak kaynak ve veritabanı türü için Microsoft Excel 8.0 (97) 9.0 (2000) ve 10.0 (2002) çalışma kitapları. Bu örnekler makale Excel çalışma kitapları Excel 2000 ve Excel 2002 biçiminde kullanın.

Bağlantı dizesi

Jet OLE DB sağlayıcı kullanarak bir Excel çalışma kitabına erişmek için kullanın bağlantı dizesi sözdizimi aşağıdaki gibidir:
PROVIDER=Microsoft.Jet.OleDb.4.0;Data Source=C:\Book1.xls;Genişletilmiş Özellikler = "Excel 8.0;HDR = YES; "
Bağlantı dizesinde, tam yolu ve dosya adını belirtin. çalışma kitabındaki Veri kaynağına parametre. Genişletilmiş özellikler parametresi iki özellikler içeriyor olabilir: bir özellik için ISAM Sürüm ve tabloları dahil edilip edilmeyeceğini belirtmek için bir özelliği Üstbilgi.

Excel çalışma kitaplarında, aralıktaki ilk satır üstbilgisidir satır (veya alan adları) varsayılan olarak. İlk hücre üstbilgi içermiyorsa, HDR belirtebilirsiniz = Hayır bağlantı dizesi genişletilmiş özelliklerinde. Eğer HDR belirtin = Hayır bağlantı dizesinde Jet OLE DB sağlayıcısı alanları otomatik olarak adlandırır (F1 gösteren ilk alan, F2 İkinci alan vb. gösterir).

Veri türleri

Geleneksel bir veritabanından farklı olarak belirtmek için doğrudan bir yol yoktur Excel tabloları sütunlar için veri türleri. Bunun yerine, OLE DB sağlayıcısı tarar alan için bir sütun Tahmin veri olarak sekiz satırlara yazın. Satır sayısını değiştirebilirsiniz. bir (1) ve MAXSCANROWS için on altı (16) arasında bir değer belirterek tarama Genişletilmiş Özellikler, bağlantı dizesi ayarı.

Tablo adlandırma kuralları

İçinde başvuru bir tablo (veya aralık) birkaç yolu vardır bir Excel çalışma kitabı:
  • Bir dolar işareti (örneğin, sayfa adını kullanın [Sayfa1$] veya [Benim çalışma$]). Bu konuda başvuruda bulunulan bir çalışma kitabını tablo şekilde çalışma sayfasının tamamını kullanılan aralık içerir.
    Seçin * [Sayfa1 $]
  • Tanımlı adla (örneğin, bir aralık kullanın [MyNamedRange]):
    Seçin * gelen [MyNamedRange]
  • (Örneğin, belirli bir adresi içeren bir aralık kullanma [Sayfa1$ A1: B10]):
    Seçin * gelen [Sayfa1$ A1: B10]
Not: çalışma sayfası adının ardından dolar işareti bir göstergesidir Tablo var olduğunu. Anlatıldığı gibi yeni bir tablo oluşturuyorsanız, Yeni çalışma kitapları ve tablolar oluşturmabölümünde bu makalede, dolar işareti kullanmayın.

ADO.NET veri kaynakları gibi Excel çalışma kitaplarını kullanma

Kayıtları alma

İki birini kullanarak kayıtları veritabanından alabilir ADO yaklaşımlar: DataReaderveya Dataset ile.

Bir Dataset , veri kaynağından alınan kayıtların önbelleğidir. Verileri veri kümesi genellikle veritabanında nedir, bir daha sınırlı sürümüdür. Ancak, fiili çalışma aynı şekilde çalışabilmesi veri ve gerçek veritabanından bağlantısız kalır. Veri alma, yanı sıra arka plandaki üzerinde güncelleştirme işlemlerini gerçekleştirmek için bir veri kümesi kullanabilirsiniz Veritabanı.

Alternatif olarak, verilerin salt okunur, salt ileri bir akış almak için DataReader kullanabilirsiniz bir Veritabanı. DataReader programı kullandığınızda, performans artışı ve sistem yükü olan düşüyor bir defada yalnızca bir satır şimdiye kadar bellekte olduğundan. Büyük bir miktar varsa veri almak için ve size temel değişiklik yapmak istemediğiniz Veritabanı, bir DataReaderDataset' den daha iyi bir seçimdir.

Kayıtları güncelleştirme ve ekleme

ADO.NET ile takın ve bir çalışma kitabındaki kayıtları güncelleştirmek üç yoldan biriyle:
  • Doğrudan eklemek veya bir kayıtları güncelleştirmek için bir komut çalıştırmak bir saat. Bunu yapmak için bağlantıda OLEDbCommand nesnesi oluşturabilir ve kayıtları eklemek için geçerli bir komut için CommandText özelliğini ayarlayın

    INSERT INTO [Sheet1$] (F1, F2) values ('111', 'ABC')
    kayıtları güncelleştirmek için ya da bir komut

    UPDATE [Sheet1$] SET F2 = 'XYZ' WHERE F1 = '111'
    ve ExecuteNonQuery yöntemini çağırın.
  • Bir Excel çalışma kitabından bir tablo/sorgu ile doldurulmuş bir DataSet değişiklik ve sonra geri çalışma kitabında yapılan değişikliklerin kümesinden gidermek için DataAdapter nesnesinin Update yöntemini çağırın. Ancak, bir değişiklik için Update yöntemini kullanmak için komutlar çözünürlüğünü ayarlamanız gerekir parametreli DataAdapter nesnesinin InsertCommand için
    INSERT INTO [Sheet1$] (F1, F2) values (?, ?)
    ve UpdateCommand:
    UPDATE [Sheet1$] SET F2 = ? WHERE F1 = ?
    Parametreli Ekle ve Güncelleştir komutları gereklidir, çünkü Excel çalışma kitapları için anahtar/dizin bilgilerini OleDbDataAdapter sağlamaz; anahtar/dizin alanları CommandBuilder otomatik olarak üretilemiyor sizin için komutlar.
  • Sağlanan bir Excel çalışma kitabına başka bir veri kaynağından alınan verileri Dışa Aktar diğer veri kaynağı Jet OLE DB sağlayıcısı ile kullanılamaz. Veri Bu şekilde Jet OLE DB sağlayıcısı ile kullanabileceğiniz kaynaklar dahil Metin dosyaları, Microsoft Access veritabanları ve tabii ki, diğer Excel çalışma kitapları. Tek bir INSERT INTO komutla, başka bir tablo/sorgu verileri verebilirsiniz çalışma kitabına:
    INSERT INTO [Sheet1$] IN 'C:\Book1.xls' 'Excel 8.0;' SELECT * FROM MyTable"
    INSERT INTO gerektirir hedef tablo (veya çalışma sayfası) zaten Mevcut; verileri hedef tabloya eklenir.

    Ayrıca kullanabilirsiniz SEÇİN...INTO tablo/sorgu çalışma kitabına vermek için:
    SELECT * INTO [Excel 8.0;Database=C:\Book1.xls].[Sheet1] FROM [MyTable]
    Ne zaman seçim kullanın...Hedef Tablo veya çalışma kitabı yoksa INTO var, sizin için oluşturulur. Önce tablo önceden varsa SEÇİN...İÇİNE komut verildiği, hatayla karşılaşırsınız.
, Örnek kodBu makalenin sonraki bölümünde her eklemek için bu yaklaşımları gösterir ve bir çalışma kitabındaki kayıtları güncelleştirmek.

Kayıtları silme

Jet OLE DB sağlayıcısı ekle ve güncelleştirmenize olanak verir, ancak Excel çalışma kitabındaki kayıtları, bu silme işlemleri izin vermez. Denerseniz üzerinde bir veya daha fazla kayıt silme işlemi gerçekleştirmek için aşağıdaki iletiyi alırsınız hata iletisi:
Bağlanmış tabloda veri silme değil Bu ISAM tarafından desteklenmiyor.
Bu sınırlama işlemden devralınan veritabanları olarak Excel çalışma kitapları.

Çalışma kitapları ve tablolar oluşturma

Excel çalışma kitabında bir tablo oluşturmak için CREATE TABLE çalıştırın. komut:
CREATE TABLE Sheet1 (F1 char(255), F2 char(255))
Bu komutu çalıştırdığınızda, yeni bir çalışma sayfası adı ile oluşturulur komutta belirttiğiniz tablo. Çalışma kitabı bağlantısı varsa yok, çok oluşturulur.

, Örnek kod Bölüm gösterir nasıl Yeni bir çalışma kitabı oluşturmak için CREATE TABLE komutunu kullanın ve Tablo.

Adım adım

Örnek kod

  1. Yeni bir Visual Basic .NET Windows uygulaması projesi başlatın.

    Varsayılan olarak, Form1 oluşturulur.
  2. Altı tane RadioButton denetimi ve bir Button denetimi Form1' e ekleyin.
  3. Tüm tane RadioButton denetimi seçin ve 200,24için Size özelliğini ayarlayın.
  4. View menüsünden Code'utıklayın.
  5. Kod başındaysa aşağıdaki satırı ekleyin Modülü:
    Imports System.Data.OleDb
  6. Form sınıfına aşağıdaki kodu ekleyin:
    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. Northwind örnek Access veritabanı yolunu değiştirmek, kodda, gerekirse m_sNorthwind üyesi için.

Deneyin

  1. Görünüm menüsünde Diğer Windows' a gelin ve Çıktı penceresini görüntülemek için Çıkış ' ı tıklatın.
  2. Yapı ve programı çalıştırmak için F5 tuşuna basın.
  3. Create_Workbook ' ı tıklatın ve sonra Git' i tıklatın. Create_Workbook yordamı iki yeni çalışma kitapları oluşturmak için CREATE TABLE komutları çalıştırır: C:\ExcelData1.xls ve C:\ExcelData2.xls. ExcelData1.xls bir sayfa içerir. (tablo) adlı EmployeeData ve ExcelData2.xls adlı bir sayfa (tablo) InventoryData. Tabloların kayıtları ile doldurulur.

    Not: Bu test kalan her adımı sırasında Excel çalışma kitaplarını açın sonuçları incelemek için. Veya Çıktı penceresi, Visual Studio .NET ile tablo içeriğini görüntülemek için Retrieve_Records tıklatın.
  4. Retrieve_Records ' ı tıklatın ve sonra Git' i tıklatın. Retrieve_Records yordamı tablolardan kayıtları ayıklar ve bunları görüntüler Çıkış penceresinde, şuna benzer:
    EmployeeData:
    =============
    AAA       Andrew         12/4/1955
    
    InventoryData:
    ==============
    Cola           200   1.35
    Chips          550   0.89
  5. Add_Records ' ı tıklatın ve sonra Git' i tıklatın. Add_Records yordamı her tablo için iki kayıt ekler:
    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. Update_Records ' ı tıklatın ve sonra Git' i tıklatın. Update_Records yordamı her çalışma iki kaydı güncelleştirir:
    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. Update_Individual_Cells ' ı tıklatın ve sonra Git' i tıklatın. EmployeeData çalışma sayfasındaki belirli hücreleri Update_Individual_Cells yordam değiştirir ExcelData1.xls; Özellikle, F3, G3 ve I4 hücreleri güncelleştirilir.
  8. Use_External_Source ' ı tıklatın ve sonra Git' i tıklatın. Ne zaman bir INSERT kullanın...Bir komutta, Use_External_Source yordam kayıtları Northwind Tablo 'Çalışanlar' ekler EmployeeData çalışma ExcelData1.xls. Ve Use_External_Source kullanan bir SELECT...Yeni bir tablo (veya sayfa) oluşturmak için bir komutta Northwind tablodaki kayıtların tümünü içeren ExcelData2.xls 'Ürün'.

    Not: Use_External_Source birden çok kez tıklatırsanız, çalışanların listesi birden çok eklenir birincil anahtar tanınan zorunlu olmaması veya zaman.

Hücre Biçimlendirme

Eklemek veya varolan kayıtları güncelleştirmek için ADO kullanıyorsanız çalışma kitabı, hücre ile kullanılan çalışma kitabı biçimlendirme uygulayabilirsiniz. Yeni veya güncelleştirilmiş kayıtları. Güncelleştirdiğinizde varolan kaydı (veya satır) içinde bir çalışma kitabı, hücre biçimlendirmesi korunur. Ve yeni bir kayıt eklediğinizde (veya satır) satırın üstündeki biçimlendirme yeni kayıt bir çalışma kitabında, devralıyor onu.

Aşağıdaki yordamda, biçimlendirmeyi nasıl kullanabileceğiniz gösterilir bir Örnek kod ile çalışma:
  1. Yapı ve örneği çalıştırmak için F5 tuşuna basın.
  2. Form1, Create_Workbook tıklatın ve sonra Git' i tıklatın.
  3. Microsoft Excel'i başlatın ve açın C:\ExcelData1.xls.
  4. A2 hücresine bir kalın yazı tipi stili uygulayın.
  5. Bir italik biçimlendirme uygular, altı çizili stil B2 hücresine ve hizalama Merkezi.
  6. C2 hücresine bir uzun tarih biçimini uygular.
  7. Kaydet ve Kapat C:\ExcelData1.xls.
  8. Form1, Add_Records tıklatın ve sonra Git' i tıklatın.
  9. C:\ExcelData1.xls Excel'de açabilir ve dikkat iki yeni satırları ilk satırdan biçimlendirme devralmış.

Sınırlamalar

Jet OLE DB sağlayıcısı ile ilgili bazı sınırlamalar şunlardır Excel veri kaynakları Algıla:
  • Formülleri kullanarak hücreleri ekleyemiyor ADO.NET.
  • Jet OLE DB sağlayıcısı anahtar/dizin veremiyor Excel çalışma kitabındaki tablolar için bilgi. Bu nedenle, kullanamazsınız CommandBuilder güncelleştirmeler ve eklemeler için kayıtları otomatik olarak oluşturmak için Excel çalışma kitabında.

Referanslar

Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
316756PRB: Excel çalışma kitabını değiştirmek için ADO.NET OLEDbDataAdapter kullanıldığında hata oluşuyor
257819 Nasıl yapılır: ADO, Visual Basic'de veya VBA'da Excel verileriyle kullanmak
306022 Visual Basic .NET kullanarak verileri Excel çalışma kitabına aktarma
306023 Nasıl verileri bir Excel'e Aktarma Visual C# .NET kullanarak çalışma kitabı
311731 Nasıl yapılır Sorgu ve ASP.NET, ADO.NET ve Visual Basic kullanarak Excel verilerini görüntüleme .NET
306572 Nasıl yapılır Sorgu ve ASP.NET, ADO.NET ve Visual C# kullanarak Excel verilerini görüntüleme .NET
278973 ÖRNEK: ExcelADO ADO okuma ve Excel çalışma kitaplarını veri yazmak için nasıl kullanılacağını gösterir.

Özellikler

Makale numarası: 316934 - Last Review: 7 Haziran 2013 Cuma - Gözden geçirme: 8.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbhowtomaster kbmt KB316934 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 316934

Geri Bildirim Ver

 

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