OleDbConnection() открывает файл Excel в любом открытом окне Excel. Но не открывает, если окно не открыто

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

6
задан Dyrandz Famador 8 June 2015 в 09:10
поделиться