Visual Basic.NET - Importar de excel a vb.net

 
Vista:
sin imagen de perfil
Val: 20
Ha aumentado su posición en 9 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Importar de excel a vb.net

Publicado por mario (15 intervenciones) el 07/09/2017 16:38:48
Hola, gracias de antemano, tengo una gran necesidad, tengo que pasar de excel a vb.net pero el inconveniente es que el archivo de excel tiene encabezados por lo tanto tengo que importar desde una fila específica hacia abajo hasta que encuentre una fila en blanco que indicaría el fin de las filas a importar hasta el momento tengo esto, funciona pero debido a que estoy mandando como parámetro el rango de celdas a importar, pero recordemos que los rangos pueden variar por eso necesito que importe de una fila hacia abajo, muchas gracias por su ayuda

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Public Function importarExcel(ByVal ruta As String, ByVal hoja As String, ByVal rango As String)
    Try
        'declarando las variables
        Dim MyConnection As System.Data.OleDb.OleDbConnection
        Dim DtSet As System.Data.DataSet
        Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
        'declarando variable de conexión
        MyConnection = New System.Data.OleDb.OleDbConnection _
        ("provider=Microsoft.Jet.OLEDB.4.0;" & _
        " Data Source='" & ruta & "'; " & _
         "Extended Properties='Excel 8.0;HDR=NO'")
        'creando consulta para extraer contenido del archivo de excel y ejecutandola
        MyCommand = New System.Data.OleDb.OleDbDataAdapter _
            ("select * from [" & hoja & "$" & rango & "]", MyConnection)
        MyCommand.TableMappings.Add("Table", "TestTable")
        DtSet = New System.Data.DataSet
        MyCommand.Fill(DtSet)
        'tabla.DataSet = DtSet.
        'ubicando el resultado en el datagridview
        dgvDatos.DataSource = DtSet.Tables(0)
        'cerrando conexión
        MyConnection.Close()
    Catch ex As Exception
        'imprimiendo mensaje de error
        MsgBox(ex.ToString)
    End Try
    Return False
End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 23
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Importar de excel a vb.net

Publicado por Pedro (14 intervenciones) el 07/09/2017 23:31:13
Yo tenía problema parecido y lo solucionè así;
1
2
3
4
5
6
7
8
9
10
11
12
Dim oBook As Workbook = oExcel.Workbooks.Open(archivoExcel, , False)
oSheet = oBook.Worksheets("Report Name")
'Recorremos cada una de las celdas y guardamos su contenido en el datagridview correspondiente
For fila As Integer = 6 To 200
    fecha1 = oSheet.Range("B" & fila).Text
    If fecha1 = "" Then Exit For
    texto = oSheet.Range("C" & fila).Text
    debe = ValorPC(oSheet.Range("E" & fila).Text)
    haber = ValorPC(oSheet.Range("G" & fila).Text)
    saldo1 = ValorPC(oSheet.Range("I" & fila).Text)
    DataGridView1.Rows.Add(fecha1, texto, debe, haber, "", "", saldo1)
Next fila

Comienza en la fila 6 y avanza hasta 200 filas a menos que encuentre el campo de la perimera columna (Fecha) vacio.
Espero te sirva
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Yenier
Val: 27
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Importar de excel a vb.net

Publicado por Yenier (27 intervenciones) el 04/11/2020 04:45:19
A mi me funcionó este video:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar