5
我正在編寫一個應用程序,它使用OleDbAdapter
來訪問Excel文件中的信息。如果用戶在桌面上打開另一個(不相關的)Excel文件,則嘗試創建與Excel文件的連接時,適配器連接的文件將以只讀格式在此窗口中打開。如果用戶沒有打開Excel實例,則文件保持隱藏狀態。OleDbConnection()在任何打開的Excel窗口中打開一個Excel文件。但是,如果不存在打開的窗口
這裏是我的代碼:
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();
}
有誰知道爲什麼會OleDbConnection()
打開一個文件,如果一個Excel的實例是開放的,但不會如果不是?
有沒有這樣的運氣?我有完全相同的問題。 – jpints14