Why don't you open the Excel sheet with an OleDbConnection and query with an OleDbCommand instead of doing excel automation? Since you obviously want to use this in a dataset you could load the data from excel in to a DataTable and add it to your DataSet.