Sto scrivendo un'applicazione che utilizza un OleDbAdapter
per accedere alle informazioni in un file Excel. Quando provo a creare una connessione con il file Excel se l'utente ha un altro file Excel (non correlato) aperto sul desktop, il file a cui è connesso l'adattatore si apre in questa finestra in formato di sola lettura. Se l'utente non ha un'istanza di Excel aperta, i file rimangono nascosti.OleDbConnection() apre un file Excel in qualsiasi finestra di Excel aperta. Ma non se non c'è una finestra aperta
Ecco il mio codice:
foreach (item app in apps)
{
DataTable dt = new DataTable();
string CnStr = ("Provider=Microsoft.Jet.OLEDB.4.0;" + ("Data Source="
+ ((app.FilePath) + (";" + "Extended Properties=\"Excel 8.0;\""))));
string OleDbString = ("Select * from [" + app.SheetName + "$]");
OleDbDataAdapter Adapter = new OleDbDataAdapter();
var conn = new OleDbConnection(CnStr);
conn.Open(); <----------------------------This is where the files are being opened.
var cmd = new OleDbCommand(OleDbString, conn);
Adapter.SelectCommand = cmd;
Adapter.Fill(app.DataTable);
conn.Close();
Adapter.Dispose();
}
Qualcuno sa perché il OleDbConnection()
avrebbe aperto un file se un'istanza di Excel era aperta, ma non sarebbe se non lo era?
sfortuna con questo? Sto avendo lo stesso esatto problema. – jpints14