В настоящее время я могу читать файлы Excel, содержащие только текст, используя подход OLEDB. Однако теперь мне нужно читать файлы, содержащие изображения. Мне все еще требуются только текстовые / числовые значения из файла. Я получаю сообщение об ошибке при открытии OleDbConnection.
Итак, строка подключения, которую я использую, выглядит следующим образом:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=filename.xlsx;Extended Properties="Excel 12.0;HDR=NO;IMEX=1;TypeGuessRows=0;
System.Data.OleDb.OleDbException: 'Внешняя таблица не в ожидаемом формате.'
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
using (OleDbCommand cmd = new OleDbCommand(GetSQLCommandString(conn, sheetName), conn))
{
using (OleDbDataAdapter adapter = new OleDbDataAdapter(cmd))
{
adapter.Fill(dt);
}
}
}
return dt.AsEnumerable()
.Select(r => new Row(r));
Так что с этой ошибкой происходит сбой, но как только я удаляю изображения, все работает, как и ожидалось.
Стоит ли искать такие решения, как OPEN XML , или есть ли способ изменить подход OleDb к работе?