none
Conectar visual studio con excel 2007 RRS feed

  • Pregunta

  • Hola, he encontrado el parámetro de microsoft oficce pero no logro conectar el archivo de excel, supuestamente deberí visualizar las celdas en un Datagrid

     

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click "c:\directorio\PRESUPUESTO.xlsx", "sHoja") End Sub

    Try

    Dim cn As New OleDbConnection(cs)

    If Not System.IO.File.Exists(PRESUPUESTO) Then

    MsgBox(

    PRESUPUESTO, MsgBoxStyle.Critical, _

    ' se conecta con la hoja sheet 1End If

     

     ' agrega los datos.

    dAdapter.Fill(datos)

     

    With DataGridView1 ' llena el DataGridView

     

    .DataSource = datos.Tables(0)

     .Columns(1).DefaultCellStyle.Format ="c"'para los encabezados 1,2 y 3 del DataGrid

    .Columns(2).DefaultCellStyle.Format =

    .Columns(3).DefaultCellStyle.Format =

     

    Catch oMsg As Exception

    MsgBox(oMsg.Message, MsgBoxStyle.Critical)

    End Try

     

    End Sub   
    y solo muestra el mensage de que no encuentra el archivo si alguien sabe q falta definir o encuentra la sintaxis se lo agradesco mucho
    "c"
    End With
    "c"
    ' DefaultCellStyle: formato currency

     

    Dim dAdapter As New OleDbDataAdapter("Select * From [" & sHoja & "$]", cs) Dim datos As New DataSet
    "No se encontr¢ el Libro: " & _ "Ruta inv lida") Exit Sub
    ' cadena de conexi¢nDim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=c:\directorio\PRESUPUESTO.xlsx;Extended Properties=Excel 12.0Xml;HDR=YES"Sub Cargar(ByVal dgView As DataGridView, _ ByVal PRESUPUESTO As String, ByVal sHoja As String) 'HDR=YES : Con encabezado

    Cargar(DataGridView1,

    lunes, 8 de marzo de 2010 19:45

Todas las respuestas

  • hola

    podrias editar el post y pegar el codigo con algo ams de formato
    la verdad como esta ahora se entiende poco el codigo

    de ser posible pasa el codigo por el notepad para quitarle el formato y luego pegalo en el foro, asi conservar la identacion epro no pondra los colores


    de paso te dejo estos links que a mi em ayduaron abstante cuando cuando implementa algo parecido usando el provider de excel para ado.net

    C ó mo usar ADO.NET para recuperar y modificar registros en un libro de Excel con Visual Basic .NET
    Reading and Writing Excel Spreadsheets Using ADO.NET C# DbProviderFactory
    Leer un fichero Excel desde ASP.NET con ADO.NET

    Connection strings for Excel
    Connection strings for Excel 2007


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 8 de marzo de 2010 20:54
  • Hola ,

     

    no has podido solucionar tu problema con la informacion que te solicito Leandro ??

    miércoles, 21 de abril de 2010 19:03
  • hola , 

    mira este link , puede que te de una idea ,te ah ayudado ???????

    http://www.c-sharpcorner.com/blogs/BlogDetail.aspx?BlogId=354

    enmanuel grullard

    republica dominicana

    lunes, 10 de mayo de 2010 20:44
  • hola, perdon por el retardo en contestar, pues la verdad no pude resolverlo con la informacion de Leandro, pero lo hice de la siguiente forma:

    primero creo mis comandos OLEDB dentro la clase formulario

    Dim sSQL As String
        Dim ds As New DataSet
        Dim conn As OleDb.OleDbConnection
        Dim command As New OleDb.OleDbCommand
        Dim orden As New System.Data.OleDb.OleDbDataAdapter

    después en el evento click del boton q visualizalizará el excel en un datagridview

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Cargar(DataGridView1, "basededatos.xlsx", "RUBROS") 

        End Sub
        Sub Cargar(ByVal dgView As DataGridView, _
         ByVal basededatos As String, ByVal Hoja As String) 'aqui declaro el evento cargar base de datos
            Try
                'Creo la instancia de la conexión para MS Office 2007
                conn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" & ("Data Source=c:\directorio\" & (basededatos & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";")))

                sSQL = "Select * from [" & Hoja & "$]"

                orden = New OleDb.OleDbDataAdapter(sSQL, conn)
                ' Llenamos el dataset
                orden.Fill(ds, "Excel")

                ' Rellenos el datagriview
                'dgView.DataSource = ds.Tables("Excel")
                'conn.Close()
                With DataGridView1
                    ' llena el DataGridView
                    .DataSource = ds.Tables(0)
                    ' DefaultCellStyle: formato currency
                    'para los encabezados 1,2 y 3 del DataGrid
                    '.Columns(1).DefaultCellStyle.Format = "A"  'Aqui no entendí muy bien esta declaracion pero se puede omitir
                    '.Columns(2).DefaultCellStyle.Format = "B"   'yo le dejé en comentarios y no me afectó mi codigo
                    '.Columns(3).DefaultCellStyle.Format = "C"
                End With
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")

            End Try
        End Sub

    martes, 11 de mayo de 2010 14:49
  • siento decirte q el link que me das es para conectarlo en C# y yo no se utilizar este lenguaje aun, pero gracias por tu ayuda
    martes, 11 de mayo de 2010 14:53
  • hola , 

    disculpa , pero no le veo la complejidad  , todavia no has podido solucionar tu problema ??

     

    enmanuel grullard

    republica dominicana

    viernes, 14 de mayo de 2010 15:00
  • Emanuel,si revisas el mensage antarior (11-mayo-2010 14:49)aclaré q ya lo resolví, pero no con los links q me dieron
    viernes, 14 de mayo de 2010 15:13
  • hola ,

    Me alegro , lo importante es que ya resolviste 

     

    enmanuel grullard

    republica dominicana

     

    viernes, 14 de mayo de 2010 15:30