Я пишу приложение, которое использует OleDbAdapter
для доступа к информации в файле Excel.Когда я пытаюсь создать соединение с файлом Excel, если у пользователя на рабочем столе открыт другой (не связанный) файл 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, но не будет, если он не был открыт?