Ciao a tutti.
Ho un quesito da porvi...stavo facendo un programmino stupido di estrazione di dati e devo prendere alcune informazioni da un file excel xlsx. Ho provato a fare una cosa del genere:

Creo la funzione che mi ritorna la stringa di connessione:
codice:
private static string setConnectionStringXlsx(string filename) 
        {
            return @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=Excel 12.0 xml;HDR=YES";
        }
faccio la funzione che ritorna il data reader:
codice:
public static OleDbDataReader readExcelFile(string query, string filename) 
        {
            var connectionString = setConnectionStringXlsx(filename);

            var connection = new OleDbConnection(connectionString);

            using (var cmd = new OleDbCommand(query, connection)) 
            {
                connection.Open();

                return cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
        }
Ma mi solleva un'eccezione "Impossibile trovare l'ISAM installabile" quando faccio il connection.Open()...qualcuno sa il motivo / possibili soluzioni?

Ho provato anche a utilizzare il provider JET al posto di ACE e a mettere 8.0 al posto di 12.0 alla versione di Excel ma l'eccezione che solleva è "Nessun valore specificato per alcuni parametri necessari"

Grazie a tutti!