Código de Visual Basic.NET - Cargando datos de Excel en el DataGrid sin la base de datos

Imágen de perfil
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Cargando datos de Excel en el DataGrid sin la base de datosgráfica de visualizaciones


Visual Basic.NET

Publicado el 29 de Agosto del 2019 por Melqui (5 códigos)
12.339 visualizaciones desde el 29 de Agosto del 2019
Este ejemplo basico, ayuda mucho para quien está trabajando con importación de datos para VBNET, la herramienta trabaja basado en la conexión de la biblioteca Imports System.Data.OleDb, lo ayudará bastante a atender que no solo se basa esa biblioteca para hacer una conexión de una base de datos mas si para trabajar con recurso de la operan en la comunicación de ADO.NET.
bueno vamos comenzar.


espero ayude en su proyecto de desarrollo de software en vbnet
y no olviden de apoyar también en mi pagina del facebook
alli tengo algunos recursos que publico sobre las novedades de vbnet

Melqui Serrano Arimuya
Analista de TI
www.facebook.com/melcky.serrano

Screenshot_1

Requerimientos

ejecutable no disponible.

1.0
estrellaestrellaestrellaestrellaestrella(5)

Publicado el 29 de Agosto del 2019gráfica de visualizaciones de la versión: 1.0
12.340 visualizaciones desde el 29 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

vamos acompañar atravez del blackpoint de como el cargar atravez del string de conexcion.

vea en mi primera imagen donde localizo la ruta de conexion donde está el archivo excel.

Screenshot_1

en la segunda imagen muestra claramente quien está recibiendo el camino atravez del string "StrarquivoExcel" mi datatable recibe el archivo y mi objeto "dgvDadoImport " entiende que existe un valor positivo atravez del recurso "AutoSizeColumnsMode"

Screenshot_2

al recibir mi datatable quien realmente cargar las informaciones es mi datagrid, y mi string listaNomeColunas, consigue dibujar las tablas en el datagrid,

Screenshot_3


Screenshot_4
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Imports System.Data
Imports System.Data.OleDb
Imports System.IO
Imports System.Linq
 
Public Class frmCustosCT
 
    Dim StrarquivoExcel As String
    Dim StrCountReg As String = ""
    Dim connectionString As String
    ' Valor de la celda
    Dim StrValorTexto As Object
 
    Private Sub CarregaDadosExcel()
        Try
 
            Dim dt As DataTable = GetTabelaExcel(StrarquivoExcel)
            dgvDadoImport.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
            dgvDadoImport.DataSource = dt
            StrCountReg = (dgvDadoImport.Rows.Count - 1).ToString()
            GroupBox2.Text = GroupBox2.Text + " ( " + StrCountReg + " ) Registros"
            Dim listaNomeColunas As String() = dt.Columns.OfType(Of DataColumn)().[Select](Function(x) x.ColumnName).ToArray()
 
        Catch ex As Exception
            MessageBox.Show("Erro :" & ex.Message)
        End Try
    End Sub
 
 
 
 
 
 
 
 
    Private Function GetTabelaExcel(ByVal arquivoExcel As String) As DataTable
        Dim dt As DataTable = New DataTable()
 
        Try
            arquivoExcel = txtArquivoExcel.Text
            Dim Ext As String = Path.GetExtension(arquivoExcel)
 
            If Ext = ".xls" Then
                connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & arquivoExcel & "; Extended Properties = 'Excel 8.0;HDR=YES'"
            ElseIf Ext = ".xlsx" Then
                connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source =" & arquivoExcel & "; Extended Properties = 'Excel 8.0;HDR=YES'"
            End If
 
            Dim conn As OleDbConnection = New OleDbConnection(connectionString)
            Dim cmd As OleDbCommand = New OleDbCommand()
            Dim dataAdapter As OleDbDataAdapter = New OleDbDataAdapter()
            cmd.Connection = conn
            conn.Open()
            Dim dtSchema As DataTable
            dtSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
            Dim nomePlanilha As String = dtSchema.Rows(0)("TABLE_NAME").ToString()
            conn.Close()
            conn.Open()
            cmd.CommandText = "SELECT * From [" & nomePlanilha & "]"
            dataAdapter.SelectCommand = cmd
            dataAdapter.Fill(dt)
            conn.Close()
        Catch ex As Exception
            Throw ex
        End Try
 
        Return dt
    End Function
 
 
 
 
 
    Private Sub BtnLocalizaArquivoExcel_Click(sender As Object, e As EventArgs) Handles btnLocalizaArquivoExcel.Click
        Dim drResult As DialogResult = ofd1.ShowDialog()
        Try
            If drResult = System.Windows.Forms.DialogResult.OK Then txtArquivoExcel.Text = ofd1.FileName
 
 
            If Not String.IsNullOrEmpty(txtArquivoExcel.Text) AndAlso File.Exists(txtArquivoExcel.Text) Then
                StrarquivoExcel = txtArquivoExcel.Text
                CarregaDadosExcel()
            Else
                CarregaDadosExcel()
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
 
 
    End Sub
 
    Private Sub DgvDadoImport_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvDadoImport.CellDoubleClick
        If dgvDadoImport.Rows.Count = 0 Then
            Exit Sub
        Else
            Dim currentCell As DataGridViewCell = dgvDadoImport.CurrentCell
 
            If (Not currentCell Is Nothing) Then
                StrValorTexto = currentCell.Value
            End If
 
 
 
            Dim valor As String = StrValorTexto
 
            txtvalor_de.Text = valor.Replace(",", ".")
 
            'Dim format As System.Globalization.NumberFormatInfo = New System.Globalization.NumberFormatInfo()
            'format.NumberDecimalSeparator = "."
            'Dim valor As Decimal = StrValorTexto
            ''  MessageBox.Show(valor.ToString(format))
            'txtvalor_de.Text = valor.ToString(format)
        End If
    End Sub
 
 
 
End Class



Comentarios sobre la versión: 1.0 (5)

Pablo Hernández
19 de Abril del 2020
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
Imágen de perfil
28 de Junio del 2020
estrellaestrellaestrellaestrellaestrella
Excelente para los reportes
Responder
victor
9 de Agosto del 2021
estrellaestrellaestrellaestrellaestrella
Gracias funciono a la perfección ahora necesito para c#
Responder
Fernando
5 de Marzo del 2022
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
Alvaro Herrera
5 de Abril del 2023
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5505