Файл Excel - он уже открыт исключительно другим пользователем,

Я читаю файл excel с помощью С#, и ниже приведен код, который работает должным образом, ЗА ИСКЛЮЧЕНИЕМ того, что каждый раз, когда я запускаю приложение, мне приходится закрывать файл excel, иначе я получаю следующее сообщение об ошибке:

The Microsoft Access database engine cannot open or write to the file ''. It is already opened exclusively by another user, or you need permission to view and write its data..

мой вопрос: есть ли способ закрыть файл excel после того, как я закончу чтение?

public static  DataTable LoadExcelWorkbook(string workbookName)
        {
            OleDbConnection connection;

            string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", EXCELFILENAME);
            string query = String.Format("select * from [{0}$]", workbookName);

            using(OleDbConnection conn = new OleDbConnection(connectionString))
            {
                connection = new OleDbConnection(connectionString);
                connection.Open();

                OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
                DataSet dataSet = new DataSet();
                dataAdapter.Fill(dataSet);

                DataTable myTable = dataSet.Tables[0];

                dataAdapter.Dispose();
                connection.Close();
                dataSet.Dispose();            

                //CLOSE THE EXCEL FILE?????????

                if (myTable != null)
                    return myTable;

                return null; 
            } 
        }

person Nick Kahn    schedule 04.10.2012    source источник
comment
Попробуйте решение, предложенное в этом сообщении stackoverflow.com/questions/8710510/   -  person Tariqulazam    schedule 05.10.2012


Ответы (1)


использовать имя листа1 вместо имени книги

person rory    schedule 20.02.2014