Прочитайте файл Excel с OleDB c #, когда он используется другим процессом
Я пытаюсь читать файл Excel каждые 2 секунды. Этот файл обновляется другим приложением RTD.
Я могу прочитать этот файл по соединению Oledb, но проблема возникает, когда я пытаюсь читать его каждые 2 секунды. Из 10 попыток он может читать только 4-5 раз, а при других попытках выдает исключение.
Строка подключения
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\nids\shes.xlsm;Extended Properties="Excel 12.0 Macro;HDR=Yes;IMEX=1"
Код
//opening connection to excel file
using (OleDbConnection connection = new OleDbConnection(constr))//constr = connection string
{
try
{
connection.Open();
isconopen = true;
}
catch
{
dispatcherTimer2.Start();
connection.Close();
isconopen = false;
}
// If connection is ok , then query sheet
if (isconopen == true)
{
strcon = "SELECT * FROM [" + dsheet + "]";
using (OleDbDataAdapter adapter = new OleDbDataAdapter(strcon, connection))
{
try
{
adapter.Fill(result);
isread = true;
adapter.Dispose();
connection.Close();
}
catch
{
isread = false;
dispatcherTimer2.Start();
adapter.Dispose();
connection.Close();
}
}
}
//if able to retrieve data then call some other function
if (isread == true)
{
converToCSV(0);// for further processing
}
Пожалуйста, помогите мне, я пытаюсь это с прошлого месяца. Пожалуйста, пожалуйста, пожалуйста, помогите мне