title: System.Data.OleDb.OleDbException: Could not find installable ISAM
body: <p>I have scoured the net, and found many people asking this, yet none have fixed my answer.</p>
  
  <p>I have a Connection Class, and a Method that uses that Class in a page.</p>
  
  <p>DataConn.cs</p>
  
  <pre><code>public static OleDbConnection ConnectExcel()
  {
      //Store the connection details as a string
      string connstr =
          String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=pricelist.xlsx;Extended Properties=Excel 12.0 Xml;HDR=YES");
  
      //Initialise the connection to the server using the connection string.
      OleDbConnection oledbConn = new OleDbConnection(connstr);
  
      //Open the connection, we do this here so we can instantly be able to use SQL commands in the code.
      oledbConn.Open();
  
      return oledbConn;
  }
  
  public static void DisconnectExcel()
  {
      _oledbConn.Dispose();
      _oledbConn.Close();
  }
  </code></pre>
  
  <p>And the code that calls it</p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
  {
      // Connection String
      const string xlStr = "SELECT * FROM [Sheet2$]";
  
      // Create OleDbCommand object and select data from worksheet Food
      OleDbCommand cmd = new OleDbCommand(xlStr, DataConn.ConnectExcel());
  
      // Create new OleDbDataAdapter
      OleDbDataAdapter oleda = new OleDbDataAdapter();
  
      oleda.SelectCommand = cmd;
  
      // Create a DataSet which will hold the data extracted from the worksheet.
      DataSet ds = new DataSet();
  
      // Fill the DataSet from the data extracted from the worksheet.
      oleda.Fill(ds);
  
      // Bind the data to the GridView
      gridPricelist.DataSource = ds;
      gridPricelist.DataBind();
  }
  </code></pre>
  
  <p>Yes I STILL get:</p>
  
  <blockquote>
    <p><em>System.Data.OleDb.OleDbException: Could not find installable ISAM.</em></p>
  </blockquote>
  
  <p>Can anyone please help?</p>