Staram się czytać z pliku programu excel, który zawiera kilka arkuszy 1,2,3,4,5,6,7,8,9,10
Muszę przeczytać kilka kolumn tego, co znajduje się na tych stronach, na przykład z zakresu a1: a20 i c1: c20
W wyniku wyciągam go w postaci listy, staram się z kilkoma ofertami, które pojawiają się na forum, ale to pozwala mi czytać tylko jeden arkusz, i muszę przeczytać kilka jednocześnie. W każdym razie, wpisałem kod, który używam.
Z góry dziękuję
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