Estoy tratando de leer un archivo de excel con varias hojas de 1,2,3,4,5,6,7,8,9,10
Tengo que leer varias columnas de lo que es en las hojas, por ejemplo, en el rango a1: a20 y c1: c20
El resultado es una lista en un listview, estoy intentando con varias sugerencias que aparecen en el foro, pero sólo me permite leer una hoja y tengo que leer varias al mismo tiempo. De todos modos he puesto el código que estoy utilizando.
Gracias de antemano
Public Class Frm_ImportarLibro
Public Function Obtenerdatos(ByVal ruta As String, ByVal hoja As String, ByVal rango As String) As DataTable
Dim cadenaConexion As String = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Excel 8.0;HDR=NO';" &
"Data Source=" & ruta
Using cnn As New OleDbConnection(cadenaConexion)
Dim cmd As OleDbCommand = cnn.CreateCommand()
cmd.CommandText = String.Format("SELECT * FROM [{0}${1}]", hoja, rango)
Dim da As New OleDbDataAdapter(cmd)
Dim dtTemp As New DataTable("Prueba")
da.Fill(dtTemp)
Dim dt As DataTable = dtTemp.Clone()
Dim rows As DataRow() = dtTemp.Select()
For index As Integer = 0 To rows.Count - 1
Dim row As DataRow = rows(index)
If (row.Item(0) Is DBNull.Value) Then
Exit For
End If
dt.ImportRow(row)
Next
Return dt
End Using
End Function