title: Open an Excel 2003 spreadsheet with C#. Could not find installable ISAM. Exception
body: <p>I need to pull data from an xls, I also need have the user be able to change the location of the file it will. So an OleDbConnection seemed like a good start, and it was until the first merged cell.</p>
  
  <p>This works for all but the merged cells:</p>
  
  <pre><code>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();
  </code></pre>
  
  <p>I found that this should allow access to the merged cells:</p>
  
  <pre><code>OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\test.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1;");
  </code></pre>
  
  <p>But then I get a Could not find installable ISAM exception on cmd.conn.open();</p>
  
  <p>I followed the advice here:
  <a href="http://support.microsoft.com/kb/209805" rel="nofollow noreferrer">http://support.microsoft.com/kb/209805</a></p>
  
  <p>And here:
  <a href="https://stackoverflow.com/questions/512143/error-could-not-find-installable-isam">Error: &quot;Could Not Find Installable ISAM&quot;</a></p>
  
  <p>No luck.</p>
  
  <p>I’m open to other ways of pulling data from the xls. Or even if there was a command I could run on the xls to remove the mirged cells that might work.</p>