Estoy tratando de leer un archivo Excel (xlsx) usando el código que se muestra a continuación. Me sale una "tabla externa no está en el formato esperado". error a menos que ya tenga el archivo abierto en Excel. En otras palabras, primero tengo que abrir el archivo en Excel antes de poder leerlo desde mi programa C #. El archivo xlsx está en un recurso compartido en nuestra red. ¿Cómo puedo leer el archivo sin tener que abrirlo primero? Gracias
string sql = "SELECT * FROM [Sheet1$]";
string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"";
using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {
DataSet ds = new DataSet();
adaptor.Fill(ds);
}