OK, I see SQL Server elements (SqlDataReader, SqlConnection), so it now sounds like you are trying to use the System.Data.OleDb namespace instead of the System.Data.SqlClient namespace.
The cool part about the ADO.NET is the data provider pattern is that all .NET data providers much adhere to the same interface, so you can change to use the OleDb types by changing the prefix (SqlDataAdapter -> OleDbDataAdapter, SqlConnection -> OleConnection, and so on...). All you would need to do is to get the appropriate Excel connection string for OLE DB:
Connection strings for Excel
http://www.connectionstrings.com/excelOLEDB;Provider=Microsoft.J
et.OLEDB.4
.0;Data Source=C:\MyExcel.xls;Exte
nded Properties="Excel 8.0;HDR=Yes;IMEX=1";