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

Imágen de perfil
Val: 111
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
1.666 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

Publicado el 29 de Agosto del 2019gráfica de visualizaciones de la versión: 1.0
1.667 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 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5505