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:
faccio la funzione che ritorna il data reader: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"; }
Ma mi solleva un'eccezione "Impossibile trovare l'ISAM installabile" quando faccio il connection.Open()...qualcuno sa il motivo / possibili soluzioni?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); } }
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!

Rispondi quotando

