none
Conectar visual studio con excel 2007

    Question

  • 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,

    Monday, March 08, 2010 7:45 PM

All replies

  • 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
    Monday, March 08, 2010 8:54 PM
  • Hola ,

     

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

    Wednesday, April 21, 2010 7:03 PM
  • 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

    Monday, May 10, 2010 8:44 PM
  • 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

    Tuesday, May 11, 2010 2:49 PM
  • 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
    Tuesday, May 11, 2010 2:53 PM
  • hola , 

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

     

    enmanuel grullard

    republica dominicana

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

    Me alegro , lo importante es que ya resolviste 

     

    enmanuel grullard

    republica dominicana

     

    Friday, May 14, 2010 3:30 PM