我目前可以使用OLEDB方法读取仅包含文本的excel文件。但是,我现在需要读取包含图像的文件。我仍然只需要文件中的文本/数字值。打开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的工作方式?