Necesito una conexión de base de datos utilizando microsoft excel, pero no sé qué códigos que debo

uso. Sólo puedo hacer una conexión entre el acceso y VB, pero en excel no puedo

He copiado esta en la red pero no funciona en mí

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim MyConnection As System.Data.OleDb.OleDbConnection
    Dim DtSet As System.Data.DataSet
    Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
    'Fill the [Excel file fullpath] with specific value
    MyConnection = New System.Data.OleDb.OleDbConnection _
    ("provider=Microsoft.ACE.OLEDB.12.0;Data Source= E:\DATABASE\VBtoExcel\VBtoExcel\bin\DataBaseExcel.xlsx; Extended Properties=Excel 12.0;")
    MyCommand = New System.Data.OleDb.OleDbDataAdapter _
        ("select * from [Sheet1]", MyConnection)
    MyCommand.TableMappings.Add("Table", "TestTable")
    DtSet = New System.Data.DataSet
    MyCommand.Fill(DtSet)
    DataGridView1.DataSource = DtSet.Tables(0)
    MyConnection.Close()

End Sub
  • No te olvides de tu excel conexión DB … cnXLS = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=test.xls; Extended Properties=Excel 8.0;") … para xls 2003 ..
InformationsquelleAutor Gin | 2014-03-21

2 Comentarios

  1. 2

    La sintaxis para seleccionar a partir de una hoja de un archivo de Excel requiere el carácter $ al final de el nombre de la hoja.

    MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
                                                                      ^^^^^^^^^^

    Un consejo, agregar la Instrucción Import para el Sistema.De datos.OleDb para su archivo. Así que usted podría escribir nombres más cortos

    MyCommand = New OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
  2. 0
    Imports System.Data.OleDb
    
    Public Class Form1
        Dim cn As New OleDbConnection
        Dim cm As New OleDbCommand
    
    
        Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click
            cn.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source =O:\design\Connect to Excel\Agent.xls;extended properties=excel 8.0;"
            cn.Open()
    
            With cm
                .Connection = cn
                .CommandText = "insert into [Data Agent$]values('" & TxtId.Text & "','" & TxtName.Text & "')"
                .ExecuteNonQuery()
    
            End With
            cn.Close()
            MsgBox("Sucessfully", MsgBoxStyle.Information, Text)
    
    
        End Sub
    
        Private Sub BtnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnClose.Click
            ' Close()
    
        End Sub
    End Class

Dejar respuesta

Please enter your comment!
Please enter your name here