Kuidas kasutada ADO.net-i allalaadimiseks ja muuta kirjeid Exceli töövihikus koos Visual Basic .net-i

Artiklite tõlked Artiklite tõlked
Artikli ID: 316934 - Vaadake tooteid, millega see artikkel seostub.
Laienda kõik | Ahenda kõik

Sellel veebilehel

Kokkuvõte

See artikkel käsitleb teemat, kuidas kasutate ADO.net-i toomine Microsoft Exceli töövihikust andmeid muuta andmed olemasoleva töövihiku, või uue töövihiku andmete lisamiseks. Exceli töövihikud ADO.NET juurdepääsemiseks saate kasutada Jet OLE DB pakkuja; See artikkel annab teavet, et teil on vaja nii et saate Jet OLE DB pakkuja, kui Excel on sihtmärgi andmete allikas.

Kuidas kasutada Jet OLE DB pakkuja Microsoft Excel töövihikud

Microsoft Jeti andmebaasimootor võimalik saada andmeid teiste Exceli töövihikud kaudu paigaldatava indekseeritud andmebaasi failivorminguid Järjestikuste juurdepääsu meetod (ISAM) draivereid. Väline formaadid toetatud avamiseks Microsoft Jet 4.0 OLE DB pakkuja määratud andmebaasi tüüp ning Laiendatud atribuutide määramiseks. Jet ole-DB pakkuja toetab ka andmebaasi järgmisi Microsoft Exceli töövihikute:
Excel 3.0
Excel 4.0
Excel 5.0
Excel 8.0
Märkus: Excel 5.0 Allikaliigi andmebaasi kasutamiseks Microsoft Excel 5.0 ja 7.0 (95) töövihikute ja kasutamine Excel 8.0 allikas andmebaasi tüüp Microsoft Excel 8.0 (97), 9.0 (2000) ja 10,0 (2002) töövihikud. Näiteid selle artiklis Exceli töövihikuid kasutada Excel 2000 ja Excel 2002 vormingus.

Ühendusstring

Exceli töövihiku avamisel rakenduses on Jet OLE DB Provider, kasutada Andmebaasiühenduse string, mis sisaldab järgmist süntaksit:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Laiendatud atribuudid = "Excel 8.0;HDR = YES; "
Ühendusstringi, määrata täielik tee ja faili nimi Töövihiku Andmeallika parameeter. Laiendatud atribuudid parameeter võib sisaldada kaks omadused: selle ISAM vara versioon ja näitamaks, kas tabelid, millel sisaldavad vara päised.

Exceli töövihikuid on vahemiku esimese rea päis rea (või väljade nimed) vaikimisi. Kui esimene vahemik ei sisalda päised, Saate määrata HDR = NO oma ühendusstringi laiendatud atribuute. Kui Saate määrata HDR = NO ühendusstringi, Jet OLE DB pakkuja väljad automaatselt nimed teile (F1 kujutab endast esimest välja F2 moodustab teine väli ja nii edasi).

Andmete liigid

Erinevalt traditsioonilise andmebaasi, ei ühtegi otsest võimalust määrata Exceli tabeli veergude andmetüüpe. Selle asemel OLE DB pakkuja skaneerib kaheksa ridu vist andmed veerus tüüp välja. Saate muuta ridade arv Võite määrata väärtuse vahel ühe (1) ja kuusteist (16) puhul on MAXSCANROWS skannimine millega teie ühendusstringi laiendatud atribuudid.

Tabeli nimepanekuga seotud tavad

Seal on mitmeid võimalusi saate otsida tabeli (või vahemiku) on Exceli töövihikus:
  • Kasutage lehe nimi, millele järgneb dollari märk (näiteks [Leht1$] või [minu töölehe$]). Töövihiku tabel, millele viidatakse käesolevas viisil hõlmab kogu kasutatud vahemik töölehel.
    Valige * [Leht1$]:
  • Kasutage vahemikku määratud nimega (näiteks [MyNamedRange]):
    Valige *: [MyNamedRange]
  • Kasutage vahemikku kindla aadressi (nt [Leht1$ A1: B10]):
    Valige * alates [Leht1$ A1: B10]
Märkus: dollari märk töölehe nime järel on viide et tabelis olemas. Kui loote uue tabeli, nagu on Uute töövihikute ja tabelite loomineosa käesoleva artikli ei kasuta dollari märk.

Kuidas kasutada Exceli töövihikud nagu ADO.net-i andmeallikate

Too andmed

Saate alla laadida andmed andmebaasi kasutades ühte kahest ADO.NET lähenemisi: Dataset või DataReader.

DataSeti on otsitud andmeallikast vahemälu. Andmed DataSeti on tavaliselt palju vähendatud versioon, mis on andmebaasis. Siiski saate töötada seda samamoodi, kui tegelik andmete ja jäävad võõrandumist tegelik andmebaas. Peale andmete ülekanne, Samuti saate DataSeti update toimingute alusvara kohta andmebaasi.

Teise võimalusena saate kasutada DataReader laadida andmed kirjutuskaitstud, edasi ainult oja on andmebaasi. DataReader programmi kasutamisel väheneb on jõudluse tõusu ja süsteemi üldkulu sest ainult ühe rea korraga kunagi mällu. Kui teil on suures koguses andmete toomiseks ja te ei kavatse teha muudatusi alusvara andmebaas, DataReader on parem valik kui andmekogumi.

Lisada ja värskendada kirjete

ADO.net-i, saate lisada ja värskendada töövihikus olevate kirjete on kolm võimalust:
  • Käsu lisamiseks või värskendamiseks kirjed üks otse käivitada ka aeg. Selleks saate luua objekti OLEDbCommand oma ühendust ja selle CommandText atribuudi kehtiv käsu Lisa kirjed

    INSERT INTO [Sheet1$] (F1, F2) values ('111', 'ABC')
    või käsu kirjete värskendamiseks

    UPDATE [Sheet1$] SET F2 = 'XYZ' WHERE F1 = '111'
    ja siis helistada ExecuteNonQuery meetod.
  • Muutuste tegemiseks andmekogumi , mis on täidetud tabel/päring Exceli töövihikust ja siis helistada DataAdapter lahendada muutuste andmekomplekti naasta töövihiku värskendusmeetod . Siiski kasutada meetodit Värskenda muuta resolutsiooni, peate seadma parameetriga käsud jaoks on DataAdapter InsertCommand
    INSERT INTO [Sheet1$] (F1, F2) values (?, ?)
    ja UpdateCommand:
    UPDATE [Sheet1$] SET F2 = ? WHERE F1 = ?
    Käske parameetritega INSERT või UPDATE on vaja, sest OleDbDataAdapter ei esita võti/indeks teavet Exceli töövihikute; ilma võtme registriväljad, et CommandBuilder ei saa automaatselt genereerida ka käsud teie jaoks.
  • Ekspordi andmed teisest allikast ette Exceli töövihik et saab muu andmeallika Jet ole-DB pakkuja. Andmed allikad, mida saab kasutada koos Jet ole-DB pakkuja sel viisil Tekstifailid, Microsoft Accessi andmebaaside ja muidugi muud Exceli töövihikuid. Koos ühe INSERT INTO käsu, saate eksportida andmed teine tabel/päring teie töövihikusse:
    INSERT INTO [Sheet1$] IN 'C:\Book1.xls' 'Excel 8.0;' SELECT * FROM MyTable"
    INSERT INTO eeldab, et sihttabeli (või tööleht) juba on olemas; sihttabeli lisatakse andmed.

    Võite kasutada VALIGE.KAUSTA eksportimiseks töövihiku tabel/päring:
    SELECT * INTO [Excel 8.0;Database=C:\Book1.xls].[Sheet1] FROM [MyTable]
    Kui kasutate Vali...KAUSTA, kui sihttabeli või töövihikut ei ole olemas, luuakse see teile. Kui tabel on juba olemas enne selle VALIGE.ARVESSE käsk käivitati, saate tõrketeate.
Selle Proovi koodkäesoleva artikli jaotises illustreerib iga need lähenemisviisid lisamiseks ja töövihiku andmeid uuendada.

Kirjete kustutamine

Kuigi Jet ole-DB pakkuja võimaldab teil lisada ja värskendada Exceli töövihiku andmed ei võimalda kustutustoimingute. Kui sa püüad a ühe või mitme kirje kustutamine toimingu sooritamiseks saate midagi järgnevat tõrketeade:
Kustutamist lingitud tabelis ei ole ISAM ei toeta.
See piirang tuleneb ravis Exceli töövihikute nagu andmebaasid.

Töövihikute ja tabelite loomine

Exceli töövihiku tabeli loomiseks käivitage CREATE TABLE käsk:
CREATE TABLE Sheet1 (F1 char(255), F2 char(255))
Selle käsu käivitamisel luuakse uue töölehe nimi Tabel, määrake käsk. Kui töövihiku ühenduse jaoks ei ei ole olemas, ta liiga ei looda.

Selle Proovi kood osa näitab, kuidas käsu CREATE TABLE abil saate luua uue töövihiku ja Tabel.

Samm-sammult

Proovi kood

  1. Uue Windowsi rakendus Visual Basic .NET projekti käivitamine.

    Form1 luuakse vaikimisi.
  2. Kuus raadionupu juhtelementide ja nupu juhtelemendi lisamiseks Form1.
  3. Vali kõik raadionupu juhtelement ja Seadke atribuudi suurus200,24.
  4. Klõpsake menüü Vaade käsku kood.
  5. Lisage järgmine rida algusest peale kood moodul:
    Imports System.Data.OleDb
  6. Sisestage järgmine kood vormi klassi:
    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. Muutmine proovi juurdepääs andmebaasi, Põhjatuule, tee m_sNorthwind liikme kood, kui see on vajalik.

Seda proovida

  1. Valige menüü Vaade käsk Muud Windowsja klõpsake väljund kuvada akna väljund .
  2. Vajutage klahvi F5 ehitada ja käivitada programmi.
  3. Klõpsake Create_Workbook ja seejärel nuppu Mine. Create_Workbook protseduuri jookseb CREATE TABLE käsud kaks uute töövihikute loomisel: C:\ExcelData1.xls ja C:\ExcelData2.xls. ExcelData1.xls sisaldab ühe lehe (tabel) nimega EmployeeData ja ExcelData2.xls sisaldab ühe lehe (tabel) nimega InventoryData. Tabelid täidetakse kirjed.

    Märkus: igas allesjäänud etapis selles katses avada töövihikud Exceli et kontrollida tulemusi. Või klõpsake Retrieve_Records tabelid, millel sisu vaatamiseks väljund akna Visual Studio .NET-is.
  4. Klõpsake Retrieve_Records ja seejärel nuppu Mine. Retrieve_Records protseduuri kirjete väljavõtteid tabelid ja kuvab need aknas väljund selline:
    EmployeeData:
    =============
    AAA       Andrew         12/4/1955
    
    InventoryData:
    ==============
    Cola           200   1.35
    Chips          550   0.89
  5. Klõpsake Add_Records ja seejärel nuppu Mine. Rutiinne Add_Records lisab kaks kirjet iga tabeli:
    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. Klõpsake Update_Records ja seejärel nuppu Mine. Update_Records rutiinne uuendused kaks arvestust igas töövihikus:
    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. Klõpsake Update_Individual_Cells ja seejärel nuppu Mine. Update_Individual_Cells rutiinne muudab EmployeeData töölehe kindlaid lahtreid ExcelData1.xls; Täpsemalt, rakkude F3, G3 ja I4 uuendatakse.
  8. Klõpsake Use_External_Source ja seejärel nuppu Mine. Kui kasutate lisada.ARVESSE käsk, Use_External_Source rutiinne lisab kirjed Northwind tabel "Töötajate" EmployeeData töölehe ExcelData1.xls. Ja Use_External_Source kasutab valik...ARVESSE käsk, et luua uus tabel (või lehele) ExcelData2.xls, mis sisaldab kõiki kirjeid Northwind tabel "Tooted".

    Märkus: kui klõpsate Use_External_Source rohkem kui üks kord, töötajate nimekirja on lisatud mitme ajal, sest esmane võti on tunnustatud või täitmisele pöörata.

Lahtrivorming

Kui kasutate ADO.NET lisamiseks või värskendamiseks kirjed olemasoleva töövihiku, saate rakendada lahtrivorming töövihikusse, mida kasutatakse koos uued või värskendatud kirjed. Kui olete olemasoleva kirje (või reale) ja on töövihiku lahtrite vorming säilib. Ja kui lisate uue kirje (või rida) töövihikus pärib uue kirje vormingu rida eespool seda.

Järgmises toimingus näidatakse, kuidas saab kasutada vormingu on töövihiku proovi kood:
  1. Vajutage klahvi F5 luua ja käitada proovi.
  2. Form1, klõpsake Create_Workbook ja seejärel nuppu Mine.
  3. Microsoft Exceli käivitamiseks ja avatud C:\ExcelData1.xls.
  4. Paksus kirjas laadi rakendada lahtri A2.
  5. Rakenda mis kursiivi, kriipsutada lahter B2 stiili ja joondamine keskus.
  6. Pika kuupäevavormingu rakendamiseks lahtrisse C2.
  7. Salvestage ja sulgege C:\ExcelData1.xls.
  8. Form1, klõpsake Add_Records ja seejärel nuppu Mine.
  9. C:\ExcelData1.xls Excelis avada ja teate, et kahe uue read on pärinud, esimese rea vormindamist.

Piirangud

Järgmised on mõned piirangud Jet ole-DB pakkuja ja arvesse selle Exceli andmete allikad:
  • Ei saa sisestada valemeid kasutades rakkude ADO.NET-I.
  • Jet ole-DB pakkuja ei suuda pakkuda võti/indeks teave tabelite Exceli töövihikus. Sel põhjusel ei saa kasutada CommandBuilder uuendused ja lisamised kirjete automaatseks loomiseks Exceli töövihikus.

Viited

Lisateabe saamiseks klõpsake Microsofti teabebaasi artiklite kuvamiseks järgmisi artiklinumbreid:
316756PRB: Tõrge ilmneb, kui kasutate ADO.net-i OLEDbDataAdapter Exceli töövihiku muutmiseks
257819 Kuidas kasutada ADO Visual Basic või VBA Exceli andmed
306022 Kuidas kanda andmeid Exceli töövihiku rakenduse Visual Basic .net-i
306023 Kuidas kanda andmeid Exceli Töövihiku kasutades Visual C# .NET
311731 Kuidas Päringu- ja Kuva Excel ASP.NET, ADO.NET ja Visual Basicu abil .NET-I
306572 Kuidas Päringu- ja Kuva Excel ASP.NET, ADO.NET ja Visual C# abil .NET-I
278973 VALIM: ExcelADO demonstreerib ADO lugeda ja kirjutada andmeid Exceli töövihikutes

Atribuudid

Artikli ID: 316934 - Viimati läbi vaadatud: 7. juuni 2013 - Redaktsioon: 1.0
Kehtib järgmise lõigu kohta:
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Märksõnad: 
kbhowtomaster kbmt KB316934 KbMtet
Masintõlgitud
NB! Artikkel on tõlgitud Microsofti masintõlketarkvaraga ja seda saab parandada Kogukonnapõhise tõlkeraamistiku (CTF) tehnoloogiaga. Microsoft pakub masintõlgitud, kogukonna järeltöödeldud ja inimtõlgitud artikleid, et anda mitmekeelne juurdepääs kõigile meie teabebaasi artiklitele. Masintõlgitud ja järeltöödeldud artiklites võib olla sõnavara-, süntaksi- ja/või grammatikavigu. Microsoft ei vastuta mingite ebatäpsuste, tõrgete ega kahjude eest, mis on tulenenud sisu valest tõlkest või selle kasutamisest meie klientide poolt. Lisateavet CTF-i kohta leiate aadressilt http://support.microsoft.com/gp/machine-translation-corrections/et.
Artikli ingliskeelse versiooni kuvamiseks klõpsake siin: 316934

Andke tagasisidet

 

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