Мне нужно получить данные из xls, мне также нужно, чтобы пользователь мог изменить расположение файла, который он будет. Таким образом, OleDbConnection выглядело как хорошее начало, и так было до первой объединенной ячейки.
Это работает для всех, кроме объединенных ячеек:
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=F:\test.xls;Extended Properties=Excel 8.0;");
cmd.CommandText = "SELECT * FROM [Sheet$]";
cmd.Connection.Open();
Я обнаружил, что это должно разрешить доступ к объединенным ячейкам:
OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;");
Но тогда я получаю исключение ISAM для устанавливаемого ISAM в cmd.conn.open ();
Я последовал совету здесь:
http://support.microsoft.com/kb/209805
И здесь:
Ошибка: «Не удалось найти устанавливаемый ISAM»
Не повезло.
Я открыт для других способов получения данных из xls. Или даже если бы была команда, которую я мог бы запустить на xls, чтобы удалить зеркальные ячейки, которые могли бы работать.