El paso a paso o código que verás en este artículo es la solución más rápida y válida que hallamos a tu duda o dilema.
Solución:
“La tabla externa no tiene el formato esperado”. generalmente ocurre cuando se intenta usar un archivo de Excel 2007 con una conexión string que usa: Microsoft.Jet.OLEDB.4.0 y Extended Properties=Excel 8.0
Usando la siguiente conexión string parece solucionar la mayoría de los problemas.
public static string path = @"C:srcRedirectApplicationRedirectApplication301s.xlsx";
public static string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
Gracias por este código 🙂 Realmente lo aprecio. Funciona para mi.
public static string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
Entonces, si tiene una versión diferente del archivo de Excel, obtenga el nombre del archivo, si su extensión es .xlsxutilizar este:
Private Const connstring As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
y si es .xlsusar:
Private Const connstring As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" + path + ";Extended Properties=""Excel 8.0;HDR=YES;"""
(Tengo una reputación demasiado baja para comentar, pero este es un comentario sobre la entrada de JoshCaba, usando Ace-engine en lugar de Jet para Excel 2007)
Si no tiene Ace instalado/registrado en su máquina, puede obtenerlo en: https://www.microsoft.com/en-US/download/details.aspx?id=13255
Se aplica a Excel 2010 también.
Nos puedes favorecer nuestra ocupación ejecutando un comentario y valorándolo te estamos eternamente agradecidos.