ACE OLEDB "External table is not in the expected format" with large text in Excel cell
<p>I'm trying to read an .xls file that happens to have a very large text cell (around 8900 chars) using <code>System.Data.OleDb</code> and the Microsoft ACE OLEDB provider.  I have no control over the content of the .xls file.</p>

<p>I get the following exception when trying to <code>.Open()</code> the <code>OleDbConnection</code>:</p>

<pre><code>Exception thrown: 'System.Data.OleDb.OleDbException' in System.Data.dll

Additional information: External table is not in the expected format.
</code></pre>

<p>I have minimized the .xls file and it seems that the text cell is what is causing the exception. I have MS Office 2010 x86 installed on an x64 OS.</p>

<p>I have tried all of the following, none of which solved the problem:</p>

<ul>
<li>ACE 12.0 x86</li>
<li>ACE 12.0 x64</li>
<li>ACE 15.0 x32</li>
<li>registry tweak to set TypeGuessRows = 0</li>
<li>connection string IMEX=1</li>
<li>connection string Extended Properties="Excel 8.0;"</li>
<li>connection string Extended Properties="Excel 12.0;"</li>
</ul>

<p>From my research it seems that the old JET provider used to truncate fields to 255 chars.  I can't get ACE to read the file at all without throwing the exception.</p>