Excel a dataTable. Tener en cuenta el nombre de la hoja excel (Sheet0). Si da error de que no encuentra Microsoft.Jet... poner la cpu del compilar a x86
'carpetas donde estan los excels y nombre de los excels
Dim carpetaCreado As String = "Excel creado importado"
Dim CarpetaOdin As String = "Excel exportado desde odin"
Dim carpetaExcel As String = ConfigurationManager.AppSettings("carpetaExcel").ToString()
Dim diCreado As New DirectoryInfo(carpetaExcel + "\" + carpetaCreado + "\")
Dim diOdin As New DirectoryInfo(carpetaExcel + "\" + CarpetaOdin + "\")
Dim fiArr As FileInfo() = diCreado.GetFiles()
Dim fiArrOdin As FileInfo() = diOdin.GetFiles()
Dim friCreado As FileInfo
Dim friOdin As FileInfo
friCreado = fiArr(0)
friOdin = fiArrOdin(0)
'excel odin
Dim connectionStringOdin As String
If friOdin.Extension = ".xls" Then
connectionStringOdin = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Extended Properties='Excel 8.0;HDR=Yes';" & _
"Data Source=" & diOdin.ToString() + friOdin.Name.ToString()
Else
connectionStringOdin = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Extended Properties='Excel 12.0;HDR=Yes';" & _
"Data Source=" & diOdin.ToString() + friOdin.Name.ToString()
End If
Dim cnn As New OleDbConnection(connectionStringOdin)
sql = "SELECT * FROM [Sheet0$]"
Dim da As New OleDbDataAdapter(sql, cnn)
Dim dtOdin As New DataTable()
da.Fill(dtOdin)
DataGridView1.DataSource = dtOdin