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