Ing. Cibernética Y En Sistemas Computacionales
Os dejo parte de una de las clases que uso personalmente para acceso a datos, yo trato las excels como si de base de datos se tratase, y de esta manera puedo leer los datoslo más eficientemente que conozco.
Una vez creada la clase, creamos en la función donde necesitamos obtener los datos un objeto de tipo clsConexiones
'------------------------------------------'Codigo fuente de ejemplo
'------------------------------------------
Código:
Dim Conn as new clsConexiones
Dim respuesta as datatable
respuesta =Conn.DameTabla(CadenaConexionExcel(BASE_DATOS),"Select * from [HOJA1]")
'------------------------------------------
'Fin codigo fuente de ejemplo
'------------------------------------------
'-------------------------------------------'Fichero: clsConexiones.vb
'-------------------------------------------
Código:
Imports System.Data.OleDb
Imports Microsoft.Office.Interop
Public Class clsConexiones
Public BASE_DATOSAs String = "pruebas.mdb"
Public USUARIO As String = "SYSTEM"
Public CLAVE As String = "MANAGER"
Public Function CadenaConexionExcel(ByVal fichero As String) As String
Dimrespuesta As String = ""
respuesta = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + _
fichero + _
"';Extended Properties=Excel 8.0;"Return respuesta
End Function
Public Function DameTabla(ByVal CadenaConexion As String, ByVal CadenaSQL As String) As DataTable
Dim respuesta As New DataTable
Dim conexion As NewOleDbConnection(CadenaConexion)
Try
Dim adaptador As New OleDbDataAdapter(CadenaSQL, conexion)
adaptador.Fill(respuesta)
adaptador.Dispose()conexion.Close()
Catch ex As Exception
Throw New Exception(ex.ToString, ex.InnerException)
End Try
Return respuesta
End Function
'Devuelve...
Regístrate para leer el documento completo.