Ya está, lo hice así, dejo el código por si a alguien le resulta útil:
Código vb.net:
Ver originalDim xls_cn As New OleDbConnection
Dim xls_cmd As New OleDbCommand
Dim xls_reader As New OleDbDataAdapter
Dim m_Excel As Microsoft.Office.Interop.Excel.Application
Dim strExtension As String = ""
Dim nombreXls As String
nombreXls = Path.GetFileName(xlsx)
strExtension = Path.GetExtension(xlsx)
If strExtension = ".xls" Or strExtension = ".xlsx" Then
'MsgBox("es un archivo excel")
If (File.Exists(xlsx)) Then
xls_cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + xlsx + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=0'"
'xls_cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.12.0;Data Source=" + xlsx + ";Extended Properties='Excel 12.0;HDR=YES'"
Using xls_cn
m_Excel.Workbooks.Open(xlsx)
xls_cn.Open()
xls_cmd.CommandText = "SELECT * FROM [Hoja1$]"
xls_cmd.Connection = xls_cn
xls_reader.SelectCommand = xls_cmd
End Using
'Eliminamos la instancia de Excel de memoria
If Not m_Excel Is Nothing Then
m_Excel.Quit()
m_Excel = Nothing
End If
End If
Else
MsgBox("Introduzca un archivo .xls o .xlsx .") Exit Sub
End If
End If

