you can try something like this you can write the additional logic yourself to pull in field data not = to string.Empty replace the file path with where ever your filepath location is
You can also use the Linq to Excel open source project (code.google.com/.../linqtoexcel) to easily get data from Excel. It takes care of the OleDB connection for you and you can use the where clause. All you have to do is create a class with properties corresponding to the excel column names. Here's an example:
IExcelRepository<Client> repo = new ExcelRepository<Client>(@"C:\file.xls");
var largeClients = from c in repo.Worksheet
where c.Employees > 200
select c;
foreach (Client client in largeClients)
{
Console.WriteLine(client.ClientName);
}